﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace NetPE.Disasm.x86.libdasm
{
    partial class Consts
    {
        public static string[] rep_table = new string[] { "lock ", "repne ", "rep " };

        public static string[,] reg_table = { { "eax", "ecx", "edx", "ebx", "esp", "ebp", "esi", "edi" }, 
                                                    { "ax", "cx", "dx", "bx", "sp", "bp", "si", "di" },
                                                    { "al", "cl", "dl", "bl", "ah", "ch", "dh", "bh" },
                                                    { "es", "cs", "ss", "ds", "fs", "gs", "??", "??" },
                                                    { "dr0", "dr1", "dr2", "dr3", "dr4", "dr5", "dr6", "dr7" },
                                                    { "cr0", "cr1", "cr2", "cr3", "cr4", "cr5", "cr6", "cr7" },
                                                    { "tr0", "tr1", "tr2", "tr3", "tr4", "tr5", "tr6", "tr7" },
                                                    { "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6", "xmm7" },
                                                    { "mm0", "mm1", "mm2", "mm3", "mm4", "mm5", "mm6", "mm7" },
                                                    { "st(0)", "st(1)", "st(2)", "st(3)", "st(4)", "st(5)", "st(6)", "st(7)" },
                                                    { "??", "(bnt)", "??", "(bt)", "??", "??", "??", "??" } };
        public const uint REG_GEN_DWORD = 0;
        public const uint REG_GEN_WORD = 1;
        public const uint REG_GEN_BYTE = 2;
        public const uint REG_SEGMENT = 3;
        public const uint REG_DEBUG = 4;
        public const uint REG_CONTROL = 5;
        public const uint REG_TEST = 6;
        public const uint REG_XMM = 7;
        public const uint REG_MMX = 8;
        public const uint REG_FPU = 9;
        public const uint REG_BRANCH = 10;
    }

    class opcode_tables
    {
        public static INST[] inst_table1 = new INST[256]{
new INST( InstructionType.INSTRUCTION_TYPE_ADD,    "add",       Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_G|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_MATH, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_ADD,    "add",       Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_G|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_MATH, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_ADD,    "add",       Consts.AM_G|Consts.OT_b|Consts.P_w,               Consts.AM_E|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_MATH, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_ADD,    "add",       Consts.AM_G|Consts.OT_v|Consts.P_w,               Consts.AM_E|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_MATH, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_ADD,    "add",       Consts.AM_REG|Consts.REG_EAX|Consts.OT_b|Consts.P_w,     Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   0, Consts.EFL_MATH, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_ADD,    "add",       Consts.AM_REG|Consts.REG_EAX|Consts.OT_v|Consts.P_w,     Consts.AM_I|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   0, Consts.EFL_MATH, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_PUSH,   "push",      Consts.AM_REG|Consts.REG_ES|Consts.F_r|Consts.P_r,       Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESP, Consts.IOP_ESP ),
new INST( InstructionType.INSTRUCTION_TYPE_POP,    "pop",       Consts.AM_REG|Consts.REG_ES|Consts.F_r|Consts.P_w,       Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESP, Consts.IOP_ESP ),
new INST( InstructionType.INSTRUCTION_TYPE_OR,     "or",        Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_G|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_BITWISE, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OR,     "or",        Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_G|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_BITWISE, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OR,     "or",        Consts.AM_G|Consts.OT_b|Consts.P_w,               Consts.AM_E|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_BITWISE, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OR,     "or",        Consts.AM_G|Consts.OT_v|Consts.P_w,               Consts.AM_E|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_BITWISE, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OR,     "or",        Consts.AM_REG|Consts.REG_EAX|Consts.OT_b|Consts.P_w,     Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   0, Consts.EFL_BITWISE, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OR,     "or",        Consts.AM_REG|Consts.REG_EAX|Consts.OT_v|Consts.P_w,     Consts.AM_I|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   0, Consts.EFL_BITWISE, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_PUSH,   "push",      Consts.AM_REG|Consts.REG_CS|Consts.F_r|Consts.P_r,       Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESP, Consts.IOP_ESP ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_ADC,    "adc",       Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_G|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_MATH, Consts.EFL_CF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_ADC,    "adc",       Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_G|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_MATH, Consts.EFL_CF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_ADC,    "adc",       Consts.AM_G|Consts.OT_b|Consts.P_w,               Consts.AM_E|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_MATH, Consts.EFL_CF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_ADC,    "adc",       Consts.AM_G|Consts.OT_v|Consts.P_w,               Consts.AM_E|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_MATH, Consts.EFL_CF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_ADC,    "adc",       Consts.AM_REG|Consts.REG_EAX|Consts.OT_b|Consts.P_w,     Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   0, Consts.EFL_MATH, Consts.EFL_CF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_ADC,    "adc",       Consts.AM_REG|Consts.REG_EAX|Consts.OT_v|Consts.P_w,     Consts.AM_I|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   0, Consts.EFL_MATH, Consts.EFL_CF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_PUSH,   "push",      Consts.AM_REG|Consts.REG_SS|Consts.F_r|Consts.P_r,       Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESP, Consts.IOP_ESP ),
new INST( InstructionType.INSTRUCTION_TYPE_POP,    "pop",       Consts.AM_REG|Consts.REG_SS|Consts.F_r|Consts.P_w,       Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESP, Consts.IOP_ESP ),
new INST( InstructionType.INSTRUCTION_TYPE_SBB,    "sbb",       Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_G|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_MATH, Consts.EFL_CF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SBB,    "sbb",       Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_G|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_MATH, Consts.EFL_CF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SBB,    "sbb",       Consts.AM_G|Consts.OT_b|Consts.P_w,               Consts.AM_E|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_MATH, Consts.EFL_CF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SBB,    "sbb",       Consts.AM_G|Consts.OT_v|Consts.P_w,               Consts.AM_E|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_MATH, Consts.EFL_CF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SBB,    "sbb",       Consts.AM_REG|Consts.REG_EAX|Consts.OT_b|Consts.P_w,     Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   0, Consts.EFL_MATH, Consts.EFL_CF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SBB,    "sbb",       Consts.AM_REG|Consts.REG_EAX|Consts.OT_v|Consts.P_w,     Consts.AM_I|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   0, Consts.EFL_MATH, Consts.EFL_CF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_PUSH,   "push",      Consts.AM_REG|Consts.REG_DS|Consts.F_r|Consts.P_r,       Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESP, Consts.IOP_ESP ),
new INST( InstructionType.INSTRUCTION_TYPE_POP,    "pop",       Consts.AM_REG|Consts.REG_DS|Consts.F_r|Consts.P_w,       Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESP, Consts.IOP_ESP ),
new INST( InstructionType.INSTRUCTION_TYPE_AND,    "and",       Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_G|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_BITWISE, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_AND,    "and",       Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_G|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_BITWISE, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_AND,    "and",       Consts.AM_G|Consts.OT_b|Consts.P_w,               Consts.AM_E|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_BITWISE, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_AND,    "and",       Consts.AM_G|Consts.OT_v|Consts.P_w,               Consts.AM_E|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_BITWISE, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_AND,    "and",       Consts.AM_REG|Consts.REG_EAX|Consts.OT_b|Consts.P_w,     Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   0, Consts.EFL_BITWISE, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_AND,    "and",       Consts.AM_REG|Consts.REG_EAX|Consts.OT_v|Consts.P_w,     Consts.AM_I|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   0, Consts.EFL_BITWISE, 0, 0, 0 ),
	
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_DCL,    "daa",       Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, Consts.EFL_CF|Consts.EFL_AF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF, Consts.EFL_CF, Consts.IOP_EAX, Consts.IOP_EAX ),
new INST( InstructionType.INSTRUCTION_TYPE_SUB,    "sub",       Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_G|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_MATH, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SUB,    "sub",       Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_G|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_MATH, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SUB,    "sub",       Consts.AM_G|Consts.OT_b|Consts.P_w,               Consts.AM_E|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_MATH, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SUB,    "sub",       Consts.AM_G|Consts.OT_v|Consts.P_w,               Consts.AM_E|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_MATH, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SUB,    "sub",       Consts.AM_REG|Consts.REG_EAX|Consts.OT_b|Consts.P_w,     Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   0, Consts.EFL_MATH, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SUB,    "sub",       Consts.AM_REG|Consts.REG_EAX|Consts.OT_v|Consts.P_w,     Consts.AM_I|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   0, Consts.EFL_MATH, 0, 0, 0 ),
	
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_DCL,    "das",       Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, Consts.EFL_CF|Consts.EFL_AF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF, Consts.EFL_CF, Consts.IOP_EAX, Consts.IOP_EAX ),
new INST( InstructionType.INSTRUCTION_TYPE_XOR,    "xor",       Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_G|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_BITWISE, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_XOR,    "xor",       Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_G|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_BITWISE, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_XOR,    "xor",       Consts.AM_G|Consts.OT_b|Consts.P_w,               Consts.AM_E|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_BITWISE, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_XOR,    "xor",       Consts.AM_G|Consts.OT_v|Consts.P_w,               Consts.AM_E|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_BITWISE, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_XOR,    "xor",       Consts.AM_REG|Consts.REG_EAX|Consts.OT_b|Consts.P_w,     Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   0, Consts.EFL_BITWISE, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_XOR,    "xor",       Consts.AM_REG|Consts.REG_EAX|Consts.OT_v|Consts.P_w,     Consts.AM_I|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   0, Consts.EFL_BITWISE, 0, 0, 0 ),
	
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_ASC,    "aaa",       Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, Consts.EFL_AF|Consts.EFL_CF, 0, Consts.IOP_EAX, Consts.IOP_EAX ),
new INST( InstructionType.INSTRUCTION_TYPE_CMP,    "cmp",       Consts.AM_E|Consts.OT_b|Consts.P_r,               Consts.AM_G|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_ALL_COMMON, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_CMP,    "cmp",       Consts.AM_E|Consts.OT_v|Consts.P_r,               Consts.AM_G|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_ALL_COMMON, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_CMP,    "cmp",       Consts.AM_G|Consts.OT_b|Consts.P_r,               Consts.AM_E|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_ALL_COMMON, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_CMP,    "cmp",       Consts.AM_G|Consts.OT_v|Consts.P_r,               Consts.AM_E|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_ALL_COMMON, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_CMP,    "cmp",       Consts.AM_REG|Consts.REG_EAX|Consts.OT_b|Consts.P_r,     Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   0, Consts.EFL_ALL_COMMON, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_CMP,    "cmp",       Consts.AM_REG|Consts.REG_EAX|Consts.OT_v|Consts.P_r,     Consts.AM_I|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   0, Consts.EFL_ALL_COMMON, 0, 0, 0 ),
	
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_ASC,    "aas",       Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, Consts.EFL_AF|Consts.EFL_CF, 0, Consts.IOP_EAX, Consts.IOP_EAX ),
new INST( InstructionType.INSTRUCTION_TYPE_INC,    "inc",       Consts.AM_REG|Consts.REG_EAX|Consts.OT_v|Consts.P_r,     Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_AF|Consts.EFL_PF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_INC,    "inc",       Consts.AM_REG|Consts.REG_ECX|Consts.OT_v|Consts.P_r,     Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_AF|Consts.EFL_PF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_INC,    "inc",       Consts.AM_REG|Consts.REG_EDX|Consts.OT_v|Consts.P_r,     Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_AF|Consts.EFL_PF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_INC,    "inc",       Consts.AM_REG|Consts.REG_EBX|Consts.OT_v|Consts.P_r,     Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_AF|Consts.EFL_PF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_INC,    "inc",       Consts.AM_REG|Consts.REG_ESP|Consts.OT_v|Consts.P_r,     Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_AF|Consts.EFL_PF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_INC,    "inc",       Consts.AM_REG|Consts.REG_EBP|Consts.OT_v|Consts.P_r,     Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_AF|Consts.EFL_PF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_INC,    "inc",       Consts.AM_REG|Consts.REG_ESI|Consts.OT_v|Consts.P_r,     Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_AF|Consts.EFL_PF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_INC,    "inc",       Consts.AM_REG|Consts.REG_EDI|Consts.OT_v|Consts.P_r,     Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_AF|Consts.EFL_PF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_DEC,    "dec",       Consts.AM_REG|Consts.REG_EAX|Consts.OT_v,         Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_AF|Consts.EFL_PF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_DEC,    "dec",       Consts.AM_REG|Consts.REG_ECX|Consts.OT_v,         Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_AF|Consts.EFL_PF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_DEC,    "dec",       Consts.AM_REG|Consts.REG_EDX|Consts.OT_v,         Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_AF|Consts.EFL_PF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_DEC,    "dec",       Consts.AM_REG|Consts.REG_EBX|Consts.OT_v,         Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_AF|Consts.EFL_PF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_DEC,    "dec",       Consts.AM_REG|Consts.REG_ESP|Consts.OT_v,         Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_AF|Consts.EFL_PF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_DEC,    "dec",       Consts.AM_REG|Consts.REG_EBP|Consts.OT_v,         Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_AF|Consts.EFL_PF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_DEC,    "dec",       Consts.AM_REG|Consts.REG_ESI|Consts.OT_v,         Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_AF|Consts.EFL_PF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_DEC,    "dec",       Consts.AM_REG|Consts.REG_EDI|Consts.OT_v,         Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_AF|Consts.EFL_PF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_PUSH,   "push",      Consts.AM_REG|Consts.REG_EAX|Consts.OT_v|Consts.P_r,     Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESP, Consts.IOP_ESP ),
new INST( InstructionType.INSTRUCTION_TYPE_PUSH,   "push",      Consts.AM_REG|Consts.REG_ECX|Consts.OT_v|Consts.P_r,     Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESP, Consts.IOP_ESP ),
new INST( InstructionType.INSTRUCTION_TYPE_PUSH,   "push",      Consts.AM_REG|Consts.REG_EDX|Consts.OT_v|Consts.P_r,     Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESP, Consts.IOP_ESP ),
new INST( InstructionType.INSTRUCTION_TYPE_PUSH,   "push",      Consts.AM_REG|Consts.REG_EBX|Consts.OT_v|Consts.P_r,     Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESP, Consts.IOP_ESP ),
new INST( InstructionType.INSTRUCTION_TYPE_PUSH,   "push",      Consts.AM_REG|Consts.REG_ESP|Consts.OT_v|Consts.P_r,     Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESP, Consts.IOP_ESP ),
new INST( InstructionType.INSTRUCTION_TYPE_PUSH,   "push",      Consts.AM_REG|Consts.REG_EBP|Consts.OT_v|Consts.P_r,     Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESP, Consts.IOP_ESP ),
new INST( InstructionType.INSTRUCTION_TYPE_PUSH,   "push",      Consts.AM_REG|Consts.REG_ESI|Consts.OT_v|Consts.P_r,     Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESP, Consts.IOP_ESP ),
new INST( InstructionType.INSTRUCTION_TYPE_PUSH,   "push",      Consts.AM_REG|Consts.REG_EDI|Consts.OT_v|Consts.P_r,     Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESP, Consts.IOP_ESP ),
new INST( InstructionType.INSTRUCTION_TYPE_POP,    "pop",       Consts.AM_REG|Consts.REG_EAX|Consts.OT_v|Consts.P_w,     Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESP, Consts.IOP_ESP ),
new INST( InstructionType.INSTRUCTION_TYPE_POP,    "pop",       Consts.AM_REG|Consts.REG_ECX|Consts.OT_v|Consts.P_w,     Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESP, Consts.IOP_ESP ),
new INST( InstructionType.INSTRUCTION_TYPE_POP,    "pop",       Consts.AM_REG|Consts.REG_EDX|Consts.OT_v|Consts.P_w,     Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESP, Consts.IOP_ESP ),
new INST( InstructionType.INSTRUCTION_TYPE_POP,    "pop",       Consts.AM_REG|Consts.REG_EBX|Consts.OT_v|Consts.P_w,     Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESP, Consts.IOP_ESP ),
new INST( InstructionType.INSTRUCTION_TYPE_POP,    "pop",       Consts.AM_REG|Consts.REG_ESP|Consts.OT_v|Consts.P_w,     Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESP, Consts.IOP_ESP ),
new INST( InstructionType.INSTRUCTION_TYPE_POP,    "pop",       Consts.AM_REG|Consts.REG_EBP|Consts.OT_v|Consts.P_w,     Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESP, Consts.IOP_ESP ),
new INST( InstructionType.INSTRUCTION_TYPE_POP,    "pop",       Consts.AM_REG|Consts.REG_ESI|Consts.OT_v|Consts.P_w,     Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESP, Consts.IOP_ESP ),
new INST( InstructionType.INSTRUCTION_TYPE_POP,    "pop",       Consts.AM_REG|Consts.REG_EDI|Consts.OT_v|Consts.P_w,     Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESP, Consts.IOP_ESP ),
new INST( InstructionType.INSTRUCTION_TYPE_PUSH ,  "pusha",     Consts.FLAGS_NONE|Consts.P_r,              Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESP, Consts.IOP_ALL ),
new INST( InstructionType.INSTRUCTION_TYPE_POP,    "popa",      Consts.FLAGS_NONE|Consts.P_w,              Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ALL, Consts.IOP_ESP ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "bound",     Consts.AM_G|Consts.OT_v|Consts.P_r,               Consts.AM_M|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_PRIV,   "arpl",      Consts.AM_E|Consts.OT_w|Consts.P_r,               Consts.AM_G|Consts.OT_w|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_ZF, 0, 0, 0 ),
	
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_PUSH,   "push",      Consts.AM_I|Consts.OT_v|Consts.P_r,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESP, Consts.IOP_ESP ),
new INST( InstructionType.INSTRUCTION_TYPE_EIMUL,  "imul",      Consts.AM_G|Consts.OT_v|Consts.P_r,               Consts.AM_E|Consts.OT_v|Consts.P_r,             Consts.AM_I|Consts.OT_v|Consts.P_r,1, Consts.EFL_CF|Consts.EFL_OF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_PUSH,   "push",      Consts.AM_I|Consts.OT_b|Consts.F_s|Consts.P_r,           Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESP, Consts.IOP_ESP ),
new INST( InstructionType.INSTRUCTION_TYPE_EIMUL,  "imul",      Consts.AM_G|Consts.OT_v|Consts.P_r,               Consts.AM_E|Consts.OT_v|Consts.P_r,         Consts.AM_I|Consts.OT_b|Consts.F_s|Consts.P_r,1, Consts.EFL_CF|Consts.EFL_OF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_PRIV,   "insb",      Consts.FLAGS_NONE|Consts.P_w,              Consts.FLAGS_NONE|Consts.P_r,            Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_EDI, Consts.IOP_EDX|Consts.IOP_EDI ),
new INST( InstructionType.INSTRUCTION_TYPE_PRIV,   "insv",      Consts.FLAGS_NONE|Consts.P_w,              Consts.FLAGS_NONE|Consts.P_r,            Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_EDI, Consts.IOP_EDX|Consts.IOP_EDI ),
new INST( InstructionType.INSTRUCTION_TYPE_PRIV,   "outsb",     Consts.FLAGS_NONE|Consts.P_w,              Consts.FLAGS_NONE|Consts.P_r,            Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESI, Consts.IOP_EDX|Consts.IOP_ESI ),
new INST( InstructionType.INSTRUCTION_TYPE_PRIV,   "outsv",     Consts.FLAGS_NONE|Consts.P_w,              Consts.FLAGS_NONE|Consts.P_r,            Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESI, Consts.IOP_EDX|Consts.IOP_ESI ),
new INST( InstructionType.INSTRUCTION_TYPE_JMPC,   "jo",        Consts.AM_J|Consts.OT_b|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, Consts.EFL_OF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_JMPC,   "jno",       Consts.AM_J|Consts.OT_b|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, Consts.EFL_OF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_JMPC,   "jc",        Consts.AM_J|Consts.OT_b|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, Consts.EFL_CF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_JMPC,   "jnc",       Consts.AM_J|Consts.OT_b|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, Consts.EFL_CF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_JMPC,   "jz",        Consts.AM_J|Consts.OT_b|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, Consts.EFL_ZF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_JMPC,   "jnz",       Consts.AM_J|Consts.OT_b|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, Consts.EFL_ZF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_JMPC,   "jna",       Consts.AM_J|Consts.OT_b|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, Consts.EFL_ZF|Consts.EFL_CF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_JMPC,   "ja",        Consts.AM_J|Consts.OT_b|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, Consts.EFL_ZF|Consts.EFL_CF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_JMPC,   "js",        Consts.AM_J|Consts.OT_b|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, Consts.EFL_SF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_JMPC,   "jns",       Consts.AM_J|Consts.OT_b|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, Consts.EFL_SF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_JMPC,   "jp",        Consts.AM_J|Consts.OT_b|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, Consts.EFL_PF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_JMPC,   "jpo",       Consts.AM_J|Consts.OT_b|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, Consts.EFL_PF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_JMPC,   "jl",        Consts.AM_J|Consts.OT_b|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, Consts.EFL_SF|Consts.EFL_OF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_JMPC,   "jnl",       Consts.AM_J|Consts.OT_b|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, Consts.EFL_SF|Consts.EFL_OF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_JMPC,   "jng",       Consts.AM_J|Consts.OT_b|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, Consts.EFL_SF|Consts.EFL_OF|Consts.EFL_ZF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_JMPC,   "jg",        Consts.AM_J|Consts.OT_b|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, Consts.EFL_SF|Consts.EFL_OF|Consts.EFL_ZF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "g1",        Consts.AM_E|Consts.OT_b,                   Consts.AM_I|Consts.OT_b,                 Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "g1",        Consts.AM_E|Consts.OT_v,                   Consts.AM_I|Consts.OT_v,                 Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "g1",        Consts.AM_E|Consts.OT_b,                   Consts.AM_I|Consts.OT_b,                 Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "g1",        Consts.AM_E|Consts.OT_v,                   Consts.AM_I|Consts.OT_b|Consts.F_s,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_TEST,   "test",      Consts.AM_E|Consts.OT_b|Consts.P_r,               Consts.AM_G|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_OF|Consts.EFL_CF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_TEST,   "test",      Consts.AM_E|Consts.OT_v|Consts.P_r,               Consts.AM_G|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_OF|Consts.EFL_CF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_XCHG,   "xchg",      Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_G|Consts.OT_b|Consts.P_w,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_XCHG,   "xchg",      Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_G|Consts.OT_v|Consts.P_w,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOV,    "mov",       Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_G|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOV,    "mov",       Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_G|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOV,    "mov",       Consts.AM_G|Consts.OT_b|Consts.P_w,               Consts.AM_E|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOV,    "mov",       Consts.AM_G|Consts.OT_v|Consts.P_w,               Consts.AM_E|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOVSR,  "mov",       Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_S|Consts.OT_w|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_LEA,    "lea",       Consts.AM_G|Consts.OT_v|Consts.P_w,               Consts.AM_M|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOVSR,  "mov",       Consts.AM_S|Consts.OT_w|Consts.P_w,               Consts.AM_E|Consts.OT_w|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_POP,    "pop",       Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, Consts.IOP_ESP, Consts.IOP_ESP ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "nop",       Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_XCHG,   "xchg",      Consts.AM_REG|Consts.REG_EAX|Consts.OT_v|Consts.P_w,     Consts.AM_REG|Consts.REG_ECX|Consts.OT_v|Consts.P_w,   Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_XCHG,   "xchg",      Consts.AM_REG|Consts.REG_EAX|Consts.OT_v|Consts.P_w,     Consts.AM_REG|Consts.REG_EDX|Consts.OT_v|Consts.P_w,   Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_XCHG,   "xchg",      Consts.AM_REG|Consts.REG_EAX|Consts.OT_v|Consts.P_w,     Consts.AM_REG|Consts.REG_EBX|Consts.OT_v|Consts.P_w,   Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_XCHG,   "xchg",      Consts.AM_REG|Consts.REG_EAX|Consts.OT_v|Consts.P_w,     Consts.AM_REG|Consts.REG_ESP|Consts.OT_v|Consts.P_w,   Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_XCHG,   "xchg",      Consts.AM_REG|Consts.REG_EAX|Consts.OT_v|Consts.P_w,     Consts.AM_REG|Consts.REG_EBP|Consts.OT_v|Consts.P_w,   Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_XCHG,   "xchg",      Consts.AM_REG|Consts.REG_EAX|Consts.OT_v|Consts.P_w,     Consts.AM_REG|Consts.REG_ESI|Consts.OT_v|Consts.P_w,   Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_XCHG,   "xchg",      Consts.AM_REG|Consts.REG_EAX|Consts.OT_v|Consts.P_w,     Consts.AM_REG|Consts.REG_EDI|Consts.OT_v|Consts.P_w,   Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "cbw",       Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.REG_EAX, Consts.IOP_EAX ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "cwd",       Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.REG_EAX|Consts.REG_EDX, Consts.IOP_EAX ),
new INST( InstructionType.INSTRUCTION_TYPE_CALL,   "callf",     Consts.AM_A|Consts.OT_v|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESP, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FPU_CTRL,"wait",      Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_PUSH,   "pushf",     Consts.FLAGS_NONE|Consts.P_r,              Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESP, Consts.IOP_ESP ),
new INST( InstructionType.INSTRUCTION_TYPE_POP,    "popf",      Consts.FLAGS_NONE|Consts.P_w,              Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESP, Consts.IOP_ESP ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "sahf",      Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_AF|Consts.EFL_PF|Consts.EFL_CF, 0, Consts.IOP_EAX, Consts.IOP_EAX ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "lahf",      Consts.FLAGS_NONE|Consts.P_w,              Consts.FLAGS_NONE|Consts.P_r,            Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_EAX, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOV,    "mov",       Consts.AM_REG|Consts.REG_EAX|Consts.OT_b|Consts.P_w,     Consts.AM_O|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOV,    "mov",       Consts.AM_REG|Consts.REG_EAX|Consts.OT_v|Consts.P_w,     Consts.AM_O|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOV,    "mov",       Consts.AM_O|Consts.OT_v|Consts.P_w,               Consts.AM_REG|Consts.REG_EAX|Consts.OT_b|Consts.P_r,   Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOV,    "mov",       Consts.AM_O|Consts.OT_v|Consts.P_w,               Consts.AM_REG|Consts.REG_EAX|Consts.OT_v|Consts.P_r,   Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOVS,   "movsb",     Consts.FLAGS_NONE|Consts.P_w,              Consts.FLAGS_NONE|Consts.P_r,            Consts.FLAGS_NONE,   0, 0, Consts.EFL_DF, Consts.IOP_EDI|Consts.IOP_ESI, Consts.IOP_EDI|Consts.IOP_ESI ),
new INST( InstructionType.INSTRUCTION_TYPE_MOVS,   "movsd",     Consts.FLAGS_NONE|Consts.P_w,              Consts.FLAGS_NONE|Consts.P_r,            Consts.FLAGS_NONE,   0, 0, Consts.EFL_DF, Consts.IOP_EDI|Consts.IOP_ESI, Consts.IOP_EDI|Consts.IOP_ESI ),
new INST( InstructionType.INSTRUCTION_TYPE_CMPS,   "cmpsb",     Consts.FLAGS_NONE|Consts.P_r,              Consts.FLAGS_NONE|Consts.P_r,            Consts.FLAGS_NONE,   0, Consts.EFL_ALL_COMMON, Consts.EFL_DF, Consts.IOP_EDI|Consts.IOP_ESI, Consts.IOP_EDI|Consts.IOP_ESI ),
new INST( InstructionType.INSTRUCTION_TYPE_CMPS,   "cmpsd",     Consts.FLAGS_NONE|Consts.P_r,              Consts.FLAGS_NONE|Consts.P_r,            Consts.FLAGS_NONE,   0, Consts.EFL_ALL_COMMON, Consts.EFL_DF, Consts.IOP_EDI|Consts.IOP_ESI, Consts.IOP_EDI|Consts.IOP_ESI ),
new INST( InstructionType.INSTRUCTION_TYPE_TEST,   "test",      Consts.AM_REG|Consts.REG_EAX|Consts.OT_b|Consts.P_r,     Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   0, Consts.EFL_OF|Consts.EFL_CF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_TEST,   "test",      Consts.AM_REG|Consts.REG_EAX|Consts.OT_v|Consts.P_r,     Consts.AM_I|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   0, Consts.EFL_OF|Consts.EFL_CF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_STOS,   "stosb",     Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, Consts.EFL_DF, Consts.IOP_EDI, Consts.IOP_EAX|Consts.IOP_EDI ),
new INST( InstructionType.INSTRUCTION_TYPE_STOS,   "stosd",     Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, Consts.EFL_DF, Consts.IOP_EDI, Consts.IOP_EAX|Consts.IOP_EDI ),
new INST( InstructionType.INSTRUCTION_TYPE_LODS,   "lodsb",     Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, Consts.EFL_DF, Consts.IOP_EAX|Consts.IOP_ESI, Consts.IOP_ESI ),
new INST( InstructionType.INSTRUCTION_TYPE_LODS,   "lodsd",     Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, Consts.EFL_DF, Consts.IOP_EAX|Consts.IOP_ESI, Consts.IOP_ESI ),
new INST( InstructionType.INSTRUCTION_TYPE_SCAS,   "scasb",     Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, Consts.EFL_ALL_COMMON, Consts.EFL_DF, Consts.IOP_EDI, Consts.IOP_EAX|Consts.IOP_EDI ),
new INST( InstructionType.INSTRUCTION_TYPE_SCAS,   "scasd",     Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, Consts.EFL_ALL_COMMON, Consts.EFL_DF, Consts.IOP_EDI, Consts.IOP_EAX|Consts.IOP_EDI ),
new INST( InstructionType.INSTRUCTION_TYPE_MOV,    "mov",       Consts.AM_REG|Consts.REG_AL|Consts.OT_b|Consts.P_w,      Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOV,    "mov",       Consts.AM_REG|Consts.REG_CL|Consts.OT_b|Consts.P_w,      Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOV,    "mov",       Consts.AM_REG|Consts.REG_DL|Consts.OT_b|Consts.P_w,      Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOV,    "mov",       Consts.AM_REG|Consts.REG_BL|Consts.OT_b|Consts.P_w,      Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOV,    "mov",       Consts.AM_REG|Consts.REG_AH|Consts.OT_b|Consts.P_w,      Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOV,    "mov",       Consts.AM_REG|Consts.REG_CH|Consts.OT_b|Consts.P_w,      Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOV,    "mov",       Consts.AM_REG|Consts.REG_DH|Consts.OT_b|Consts.P_w,      Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOV,    "mov",       Consts.AM_REG|Consts.REG_BH|Consts.OT_b|Consts.P_w,      Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOV,    "mov",       Consts.AM_REG|Consts.REG_EAX|Consts.OT_v|Consts.P_w,     Consts.AM_I|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOV,    "mov",       Consts.AM_REG|Consts.REG_ECX|Consts.OT_v|Consts.P_w,     Consts.AM_I|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOV,    "mov",       Consts.AM_REG|Consts.REG_EDX|Consts.OT_v|Consts.P_w,     Consts.AM_I|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOV,    "mov",       Consts.AM_REG|Consts.REG_EBX|Consts.OT_v|Consts.P_w,     Consts.AM_I|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOV,    "mov",       Consts.AM_REG|Consts.REG_ESP|Consts.OT_v|Consts.P_w,     Consts.AM_I|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOV,    "mov",       Consts.AM_REG|Consts.REG_EBP|Consts.OT_v|Consts.P_w,     Consts.AM_I|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOV,    "mov",       Consts.AM_REG|Consts.REG_ESI|Consts.OT_v|Consts.P_w,     Consts.AM_I|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOV,    "mov",       Consts.AM_REG|Consts.REG_EDI|Consts.OT_v|Consts.P_w,     Consts.AM_I|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "g2",        Consts.AM_E|Consts.OT_b,                   Consts.AM_I|Consts.OT_b,                 Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "g2",        Consts.AM_E|Consts.OT_v,                   Consts.AM_I|Consts.OT_b,                 Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_RET,    "retn",      Consts.AM_I|Consts.OT_w|Consts.P_r,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESP, Consts.IOP_ESP ),
new INST( InstructionType.INSTRUCTION_TYPE_RET,    "ret",       Consts.FLAGS_NONE|Consts.P_r,              Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESP, Consts.IOP_ESP ),
new INST( InstructionType.INSTRUCTION_TYPE_LFP,    "les",       Consts.AM_G|Consts.OT_v|Consts.P_w,               Consts.AM_M|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_LFP,    "lds",       Consts.AM_G|Consts.OT_v|Consts.P_w,               Consts.AM_M|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOV,    "mov",       Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOV,    "mov",       Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_I|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_ENTER,  "enter",     Consts.AM_I|Consts.OT_w|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESP|Consts.IOP_EBP, Consts.IOP_ESP|Consts.IOP_EBP ),
new INST( InstructionType.INSTRUCTION_TYPE_POP,    "leave",     Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESP|Consts.IOP_EBP, Consts.IOP_ESP|Consts.IOP_EBP ),
new INST( InstructionType.INSTRUCTION_TYPE_RET,    "retf",      Consts.AM_I|Consts.OT_w|Consts.P_r,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESP, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "retf",      Consts.FLAGS_NONE|Consts.P_r,              Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESP, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_INT,    "int3",      Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_INT,    "int",       Consts.AM_I|Consts.OT_b|Consts.P_r,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_INT,    "into",      Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "iret",      Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "g2",        Consts.AM_E|Consts.OT_b,                   Consts.AM_I1|Consts.OT_b,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "g2",        Consts.AM_E|Consts.OT_v,                   Consts.AM_I1|Consts.OT_b,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "g2",        Consts.AM_E|Consts.OT_b,                   Consts.AM_REG|Consts.REG_CL|Consts.OT_b,        Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "g2",        Consts.AM_E|Consts.OT_v,                   Consts.AM_REG|Consts.REG_CL|Consts.OT_b,        Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_ASC,    "aam",       Consts.AM_I|Consts.OT_b|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF, 0, Consts.IOP_EAX, Consts.IOP_EAX ),
new INST( InstructionType.INSTRUCTION_TYPE_ASC,    "aad",       Consts.AM_I|Consts.OT_b|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF, 0, Consts.IOP_EAX, Consts.IOP_EAX ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "salc",      Consts.FLAGS_NONE|Consts.P_w,              Consts.FLAGS_NONE|Consts.P_r,            Consts.FLAGS_NONE,   0, Consts.EFL_CF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_XLAT,   "xlat",      Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_EAX, Consts.IOP_EAX|Consts.IOP_EBX ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "esc",       Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "esc",       Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "esc",       Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "esc",       Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "esc",       Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "esc",       Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "esc",       Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "esc",       Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_LOOP,   "loopne",    Consts.AM_J|Consts.OT_b|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, Consts.EFL_ZF, Consts.IOP_ECX, Consts.IOP_ECX ),
new INST( InstructionType.INSTRUCTION_TYPE_LOOP,   "loope",     Consts.AM_J|Consts.OT_b|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, Consts.EFL_ZF, Consts.IOP_ECX, Consts.IOP_ECX ),
new INST( InstructionType.INSTRUCTION_TYPE_LOOP,   "loop",      Consts.AM_J|Consts.OT_b|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ECX, Consts.IOP_ECX ),
new INST( InstructionType.INSTRUCTION_TYPE_JECXZ,  "jecxz",     Consts.AM_J|Consts.OT_b|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, Consts.IOP_ECX ),
new INST( InstructionType.INSTRUCTION_TYPE_PRIV,   "in",        Consts.AM_REG|Consts.REG_AL|Consts.OT_b|Consts.P_w,      Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_PRIV,   "in",        Consts.AM_REG|Consts.REG_EAX|Consts.OT_v|Consts.P_w,     Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_PRIV,   "out",       Consts.AM_I|Consts.OT_b|Consts.P_w,               Consts.AM_REG|Consts.REG_AL|Consts.OT_b|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_PRIV,   "out",       Consts.AM_I|Consts.OT_b|Consts.P_w,               Consts.AM_REG|Consts.REG_EAX|Consts.OT_v|Consts.P_r,   Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_CALL,   "call",      Consts.AM_J|Consts.OT_v|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_JMP,    "jmp",       Consts.AM_J|Consts.OT_v|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_JMP,    "jmpf",      Consts.AM_A|Consts.OT_v|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_JMP,    "jmp",       Consts.AM_J|Consts.OT_b|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_PRIV,   "in",        Consts.AM_REG|Consts.REG_EAX|Consts.OT_b|Consts.P_w,     Consts.AM_REG|Consts.REG_EDX|Consts.OT_w|Consts.P_r,   Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_PRIV,   "in",        Consts.AM_REG|Consts.REG_EAX|Consts.OT_v|Consts.P_w,     Consts.AM_REG|Consts.REG_EDX|Consts.OT_w|Consts.P_r,   Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_PRIV,   "out",       Consts.AM_REG|Consts.REG_EDX|Consts.OT_w|Consts.P_w,     Consts.AM_REG|Consts.REG_EAX|Consts.OT_b|Consts.P_r,   Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_PRIV,   "out",       Consts.AM_REG|Consts.REG_EDX|Consts.OT_w|Consts.P_w,     Consts.AM_REG|Consts.REG_EAX|Consts.OT_v|Consts.P_r,   Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "ext",       Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "int1",      Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "ext",       Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "ext",       Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_PRIV,   "hlt",       Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "cmc",       Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, Consts.EFL_CF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "g3",        Consts.AM_E|Consts.OT_b,                   Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "g3",        Consts.AM_E|Consts.OT_v,                   Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "clc",       Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, Consts.EFL_CF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "stc",       Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, Consts.EFL_CF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "cli",       Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, Consts.EFL_IF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "sti",       Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, Consts.EFL_IF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_CLD,    "cld",       Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, Consts.EFL_DF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_STD,    "std",       Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, Consts.EFL_DF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "g4",        Consts.AM_E|Consts.OT_b,                   Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "g5",        Consts.AM_E|Consts.OT_v,                   Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ), 
};




        public static INST[] inst_table2 = new INST[256]{
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "g6",        Consts.AM_E|Consts.OT_w,                   Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "g7",        Consts.AM_M|Consts.OT_w,                   Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_PRIV,   "lar",       Consts.AM_G|Consts.OT_v|Consts.P_w,               Consts.AM_E|Consts.OT_w|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_ZF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_PRIV,   "lsl",       Consts.AM_G|Consts.OT_v|Consts.P_w,               Consts.AM_E|Consts.OT_w|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_ZF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "loadall286",Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_PRIV,   "clts",      Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_EAX, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "loadall",   Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_PRIV,   "invd",      Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "wbinvd",    Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "ud2",       Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE|(InstructionType)Consts.TYPE_3,"movups", Consts.AM_V|Consts.OT_ps|Consts.P_w,              Consts.AM_W|Consts.OT_ps|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE|(InstructionType)Consts.TYPE_3,"movups", Consts.AM_W|Consts.OT_ps|Consts.P_w,              Consts.AM_V|Consts.OT_ps|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE|(InstructionType)Consts.TYPE_3,"movlps", Consts.AM_V|Consts.OT_q|Consts.P_w,               Consts.AM_M|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE|(InstructionType)Consts.TYPE_3,"movlps", Consts.AM_M|Consts.OT_q|Consts.P_w,               Consts.AM_V|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE|(InstructionType)Consts.TYPE_3,"unpcklps",Consts.AM_V|Consts.OT_ps|Consts.P_w,              Consts.AM_W|Consts.OT_ps|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE|(InstructionType)Consts.TYPE_3,"unpcklps",Consts.AM_V|Consts.OT_ps|Consts.P_w,              Consts.AM_W|Consts.OT_ps|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE|(InstructionType)Consts.TYPE_3,"movhps", Consts.AM_V|Consts.OT_q|Consts.P_w,               Consts.AM_M|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE|(InstructionType)Consts.TYPE_3,"movhps", Consts.AM_M|Consts.OT_q|Consts.P_w,               Consts.AM_V|Consts.OT_ps|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_PRIV,   "mov",       Consts.AM_R|Consts.OT_d|Consts.P_w,               Consts.AM_C|Consts.OT_d|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_PRIV,   "mov",       Consts.AM_R|Consts.OT_d|Consts.P_w,               Consts.AM_D|Consts.OT_d|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_PRIV,   "mov",       Consts.AM_C|Consts.OT_d|Consts.P_w,               Consts.AM_R|Consts.OT_d|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_PRIV,   "mov",       Consts.AM_D|Consts.OT_d|Consts.P_w,               Consts.AM_R|Consts.OT_d|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_PRIV,   "mov",       Consts.AM_R|Consts.OT_d|Consts.P_w,               Consts.AM_T|Consts.OT_d|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_PRIV,   "mov",       Consts.AM_T|Consts.OT_d|Consts.P_w,               Consts.AM_R|Consts.OT_d|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE|(InstructionType)Consts.TYPE_3,"movaps", Consts.AM_V|Consts.OT_ps|Consts.P_w,              Consts.AM_W|Consts.OT_ps|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE|(InstructionType)Consts.TYPE_3,"movaps", Consts.AM_W|Consts.OT_ps|Consts.P_w,              Consts.AM_V|Consts.OT_ps|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE|(InstructionType)Consts.TYPE_3,"cvtpi2ps",Consts.AM_V|Consts.OT_ps|Consts.P_r,              Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE|(InstructionType)Consts.TYPE_3,"movntps",Consts.AM_M|Consts.OT_ps|Consts.P_w,              Consts.AM_V|Consts.OT_ps|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE|(InstructionType)Consts.TYPE_3,"cvttps2pi",Consts.AM_P|Consts.OT_q|Consts.P_r,               Consts.AM_W|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE|(InstructionType)Consts.TYPE_3,"cvtps2pi",Consts.AM_P|Consts.OT_q|Consts.P_r,               Consts.AM_W|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE|(InstructionType)Consts.TYPE_3,"ucomiss",Consts.AM_V|Consts.OT_ss|Consts.P_w,              Consts.AM_W|Consts.OT_ss|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE|(InstructionType)Consts.TYPE_3,"comiss", Consts.AM_V|Consts.OT_ss|Consts.P_w,              Consts.AM_W|Consts.OT_ss|Consts.P_w,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER, "wrmsr",      Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_EAX|Consts.IOP_EDX, Consts.IOP_ECX ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER, "rdtsc",      Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_EAX|Consts.IOP_EDX, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_PRIV,  "rdmsr",      Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_EAX|Consts.IOP_EDX, Consts.IOP_ECX ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER, "rdpmc",      Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_EAX|Consts.IOP_EDX, Consts.IOP_ECX ),
new INST( InstructionType.INSTRUCTION_TYPE_SYSENTER,"sysenter",  Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_PRIV,  "sysexit",    Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOVC,   "cmovo",     Consts.AM_G|Consts.OT_v|Consts.P_w,               Consts.AM_E|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOVC,   "cmovno",    Consts.AM_G|Consts.OT_v|Consts.P_w,               Consts.AM_E|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOVC,   "cmovb",     Consts.AM_G|Consts.OT_v|Consts.P_w,               Consts.AM_E|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOVC,   "cmovae",    Consts.AM_G|Consts.OT_v|Consts.P_w,               Consts.AM_E|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOVC,   "cmove",     Consts.AM_G|Consts.OT_v|Consts.P_w,               Consts.AM_E|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOVC,   "cmovne",    Consts.AM_G|Consts.OT_v|Consts.P_w,               Consts.AM_E|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOVC,   "cmovbe",    Consts.AM_G|Consts.OT_v|Consts.P_w,               Consts.AM_E|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOVC,   "cmova",     Consts.AM_G|Consts.OT_v|Consts.P_w,               Consts.AM_E|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOVC,   "cmovs",     Consts.AM_G|Consts.OT_v|Consts.P_w,               Consts.AM_E|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOVC,   "cmovns",    Consts.AM_G|Consts.OT_v|Consts.P_w,               Consts.AM_E|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOVC,   "cmovp",     Consts.AM_G|Consts.OT_v|Consts.P_w,               Consts.AM_E|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOVC,   "cmovnp",    Consts.AM_G|Consts.OT_v|Consts.P_w,               Consts.AM_E|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOVC,   "cmovl",     Consts.AM_G|Consts.OT_v|Consts.P_w,               Consts.AM_E|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOVC,   "cmovge",    Consts.AM_G|Consts.OT_v|Consts.P_w,               Consts.AM_E|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOVC,   "cmovle",    Consts.AM_G|Consts.OT_v|Consts.P_w,               Consts.AM_E|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOVC,   "cmovg",     Consts.AM_G|Consts.OT_v|Consts.P_w,               Consts.AM_E|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE|(InstructionType)Consts.TYPE_3,"movmskps",Consts.AM_G|Consts.OT_d|Consts.P_w,               Consts.AM_V|Consts.OT_ps|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE|(InstructionType)Consts.TYPE_3,"sqrtps", Consts.AM_V|Consts.OT_ps|Consts.P_w,              Consts.AM_W|Consts.OT_ps|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE|(InstructionType)Consts.TYPE_3,"rsqrtps",Consts.AM_V|Consts.OT_ps|Consts.P_w,              Consts.AM_W|Consts.OT_ps|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE|(InstructionType)Consts.TYPE_3,"rcpps",  Consts.AM_V|Consts.OT_ps|Consts.P_w,              Consts.AM_W|Consts.OT_ps|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE|(InstructionType)Consts.TYPE_3,"andps",  Consts.AM_V|Consts.OT_ps|Consts.P_w,              Consts.AM_W|Consts.OT_ps|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE|(InstructionType)Consts.TYPE_3,"andnps", Consts.AM_V|Consts.OT_ps|Consts.P_w,              Consts.AM_W|Consts.OT_ps|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE|(InstructionType)Consts.TYPE_3,"orps",   Consts.AM_V|Consts.OT_ps|Consts.P_w,              Consts.AM_W|Consts.OT_ps|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE|(InstructionType)Consts.TYPE_3,"xorps",  Consts.AM_V|Consts.OT_ps|Consts.P_w,              Consts.AM_W|Consts.OT_ps|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE|(InstructionType)Consts.TYPE_3,"addps",  Consts.AM_V|Consts.OT_ps|Consts.P_w,              Consts.AM_W|Consts.OT_ps|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE|(InstructionType)Consts.TYPE_3,"mulps",  Consts.AM_V|Consts.OT_ps|Consts.P_w,              Consts.AM_W|Consts.OT_ps|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE|(InstructionType)Consts.TYPE_3,"cvtps2pd",Consts.AM_V|Consts.OT_pd|Consts.P_r,              Consts.AM_W|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE|(InstructionType)Consts.TYPE_3,"cvtdq2ps",Consts.AM_V|Consts.OT_ps|Consts.P_r,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE|(InstructionType)Consts.TYPE_3,"subps",  Consts.AM_V|Consts.OT_ps|Consts.P_w,              Consts.AM_W|Consts.OT_ps|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE|(InstructionType)Consts.TYPE_3,"minps",  Consts.AM_V|Consts.OT_ps|Consts.P_w,              Consts.AM_W|Consts.OT_ps|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE|(InstructionType)Consts.TYPE_3,"divps",  Consts.AM_V|Consts.OT_ps|Consts.P_w,              Consts.AM_W|Consts.OT_ps|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE|(InstructionType)Consts.TYPE_3,"maxps",  Consts.AM_V|Consts.OT_ps|Consts.P_w,              Consts.AM_W|Consts.OT_ps|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"punpcklbw",Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_d|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"punpcklwd",Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_d|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"punpckldq",Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_d|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"packusdw",Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_d|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"pcmpgtb",Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_d|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"pcmpgtw",Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_d|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"pcmpgtd",Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_d|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"packsswb",Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_d|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"punpckhbw",Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_d|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"punpckhbd",Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_d|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"punpckhdq",Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_d|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"packssdw",Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_d|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER|(InstructionType)Consts.TYPE_3,null,   Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER|(InstructionType)Consts.TYPE_3,null,   Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3, "movd",  Consts.AM_P|Consts.OT_d|Consts.P_w,               Consts.AM_E|Consts.OT_d|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"movq",   Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"pshufw", Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.AM_I|Consts.OT_b,    1, 0, 0, 0, 0 ),
	
new INST( InstructionType.INSTRUCTION_TYPE_MMX,    "g12",       Consts.AM_P|Consts.OT_q,                   Consts.AM_I|Consts.OT_b,                 Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX,    "g13",       Consts.AM_P|Consts.OT_q,                   Consts.AM_I|Consts.OT_b,                 Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX,    "g14",       Consts.AM_P|Consts.OT_q,                   Consts.AM_I|Consts.OT_b,                 Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"pcmpeqb",Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"pcmpeqw",Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"pcmpeqd",Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX,    "emms",      Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER|(InstructionType)Consts.TYPE_3,null,  Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER|(InstructionType)Consts.TYPE_3,null,  Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"movd",   Consts.AM_E|Consts.OT_d|Consts.P_w,               Consts.AM_P|Consts.OT_d|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"movq",   Consts.AM_Q|Consts.OT_q|Consts.P_w,               Consts.AM_P|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_JMPC,   "jo",        Consts.AM_J|Consts.OT_v|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, Consts.EFL_OF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_JMPC,   "jno",       Consts.AM_J|Consts.OT_v|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, Consts.EFL_OF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_JMPC,   "jc",        Consts.AM_J|Consts.OT_v|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, Consts.EFL_CF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_JMPC,   "jnc",       Consts.AM_J|Consts.OT_v|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, Consts.EFL_CF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_JMPC,   "jz",        Consts.AM_J|Consts.OT_v|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, Consts.EFL_ZF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_JMPC,   "jnz",       Consts.AM_J|Consts.OT_v|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, Consts.EFL_ZF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_JMPC,   "jna",       Consts.AM_J|Consts.OT_v|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, Consts.EFL_CF|Consts.EFL_ZF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_JMPC,   "ja",        Consts.AM_J|Consts.OT_v|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, Consts.EFL_CF|Consts.EFL_ZF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_JMPC,   "js",        Consts.AM_J|Consts.OT_v|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, Consts.EFL_SF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_JMPC,   "jns",       Consts.AM_J|Consts.OT_v|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, Consts.EFL_SF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_JMPC,   "jp",        Consts.AM_J|Consts.OT_v|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, Consts.EFL_PF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_JMPC,   "jpo",       Consts.AM_J|Consts.OT_v|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, Consts.EFL_PF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_JMPC,   "jl",        Consts.AM_J|Consts.OT_v|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, Consts.EFL_SF|Consts.EFL_OF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_JMPC,   "jnl",       Consts.AM_J|Consts.OT_v|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, Consts.EFL_SF|Consts.EFL_OF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_JMPC,   "jng",       Consts.AM_J|Consts.OT_v|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, Consts.EFL_ZF|Consts.EFL_SF|Consts.EFL_OF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_JMPC,   "jg",        Consts.AM_J|Consts.OT_v|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, Consts.EFL_ZF|Consts.EFL_SF|Consts.EFL_OF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SETC,   "seto",      Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, Consts.EFL_OF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SETC,   "setno",     Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, Consts.EFL_OF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SETC,   "setb",      Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, Consts.EFL_CF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SETC,   "setnb",     Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, Consts.EFL_CF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SETC,   "setz",      Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, Consts.EFL_ZF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SETC,   "setnz",     Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, Consts.EFL_ZF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SETC,   "setbe",     Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, Consts.EFL_CF|Consts.EFL_ZF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SETC,   "setnbe",    Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, Consts.EFL_CF|Consts.EFL_ZF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SETC,   "sets",      Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, Consts.EFL_SF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SETC,   "setns",     Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, Consts.EFL_SF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SETC,   "setp",      Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, Consts.EFL_PF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SETC,   "setnp",     Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, Consts.EFL_PF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SETC,   "setl",      Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, Consts.EFL_SF|Consts.EFL_OF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SETC,   "setnl",     Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, Consts.EFL_SF|Consts.EFL_OF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SETC,   "setle",     Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, Consts.EFL_ZF|Consts.EFL_SF|Consts.EFL_OF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SETC,   "setnle",    Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, Consts.EFL_ZF|Consts.EFL_SF|Consts.EFL_OF, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_PUSH,   "push",      Consts.AM_REG|Consts.REG_FS|Consts.F_r|Consts.P_r,       Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESP, Consts.IOP_ESP ),
new INST( InstructionType.INSTRUCTION_TYPE_POP,    "pop",       Consts.AM_REG|Consts.REG_FS|Consts.F_r|Consts.P_w,       Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESP, Consts.IOP_ESP ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "cpuid",     Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_EAX|Consts.IOP_EBX|Consts.IOP_ECX|Consts.IOP_EDX, Consts.IOP_EAX ),
new INST( InstructionType.INSTRUCTION_TYPE_BT,     "bt",        Consts.AM_E|Consts.OT_v|Consts.P_r,               Consts.AM_G|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_CF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "shld",      Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_G|Consts.OT_v|Consts.P_r,             Consts.AM_I|Consts.OT_b|Consts.P_r,1, Consts.EFL_CF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF|Consts.EFL_OF|Consts.EFL_AF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "shld",      Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_G|Consts.OT_v|Consts.P_r,   Consts.AM_REG|Consts.REG_ECX|Consts.OT_b|Consts.P_r,1, Consts.EFL_CF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF|Consts.EFL_OF|Consts.EFL_AF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_PUSH,   "push",      Consts.AM_REG|Consts.REG_GS|Consts.F_r|Consts.P_r,       Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESP, Consts.IOP_ESP ),
new INST( InstructionType.INSTRUCTION_TYPE_POP,    "pop",       Consts.AM_REG|Consts.REG_GS|Consts.F_r|Consts.P_w,       Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, Consts.IOP_ESP, Consts.IOP_ESP ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "rsm",       Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_BTS,    "bts",       Consts.AM_E|Consts.OT_v|Consts.P_r,               Consts.AM_G|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_CF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "shrd",      Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_G|Consts.OT_v|Consts.P_r,             Consts.AM_I|Consts.OT_b|Consts.P_r,1, Consts.EFL_CF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF|Consts.EFL_OF|Consts.EFL_AF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "shrd",      Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_G|Consts.OT_v|Consts.P_r,   Consts.AM_REG|Consts.REG_ECX|Consts.OT_b|Consts.P_r,1, Consts.EFL_CF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF|Consts.EFL_OF|Consts.EFL_AF, 0, 0, 0 ),
	
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "grp15",     Consts.AM_E|Consts.OT_v,                   Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_EIMUL,  "imul",      Consts.AM_G|Consts.OT_v|Consts.P_r,               Consts.AM_E|Consts.OT_v|Consts.P_r,            Consts.FLAGS_NONE|Consts.P_r,1, Consts.EFL_CF|Consts.EFL_OF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "cmpxchg",   Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_G|Consts.OT_b|Consts.P_w,             Consts.FLAGS_NONE,   1, Consts.EFL_ALL_COMMON, 0, Consts.IOP_EAX, Consts.IOP_EAX ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "cmpxchg",   Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_G|Consts.OT_v|Consts.P_w,             Consts.FLAGS_NONE,   1, Consts.EFL_ALL_COMMON, 0, Consts.IOP_EAX, Consts.IOP_EAX ),
new INST( InstructionType.INSTRUCTION_TYPE_LFP,    "lss",       Consts.AM_G|Consts.OT_v|Consts.P_w,               Consts.AM_M|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_BTR,    "btr",       Consts.AM_E|Consts.OT_v|Consts.P_r,               Consts.AM_G|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_CF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_LFP,    "lfs",       Consts.AM_G|Consts.OT_v|Consts.P_w,               Consts.AM_M|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_LFP,    "lgs",       Consts.AM_G|Consts.OT_v|Consts.P_w,               Consts.AM_M|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOVZX,  "movzx",     Consts.AM_G|Consts.OT_v|Consts.P_w,               Consts.AM_E|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOVZX,  "movzx",     Consts.AM_G|Consts.OT_v|Consts.P_w,               Consts.AM_E|Consts.OT_w|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
	
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER, "g8",         Consts.AM_E|Consts.OT_v,                   Consts.AM_I|Consts.OT_b,                 Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_BTC,    "btc",       Consts.AM_E|Consts.OT_v|Consts.P_r,               Consts.AM_G|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_CF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_BSF,    "bsf",       Consts.AM_G|Consts.OT_v|Consts.P_r,               Consts.AM_E|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_ZF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_BSR,    "bsr",       Consts.AM_G|Consts.OT_v|Consts.P_r,               Consts.AM_E|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_ZF, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOVSX,  "movsx",     Consts.AM_G|Consts.OT_v|Consts.P_w,               Consts.AM_E|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MOVSX,  "movsx",     Consts.AM_G|Consts.OT_v|Consts.P_w,               Consts.AM_E|Consts.OT_w|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_XADD,   "xadd",      Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_G|Consts.OT_b|Consts.P_w,             Consts.FLAGS_NONE,   1, Consts.EFL_ALL_COMMON, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_XADD,   "xadd",      Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_G|Consts.OT_v|Consts.P_w,             Consts.FLAGS_NONE,   1, Consts.EFL_ALL_COMMON, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE|(InstructionType)Consts.TYPE_3,"cmpps",  Consts.AM_V|Consts.OT_ps|Consts.P_r,              Consts.AM_W|Consts.OT_ps|Consts.P_r,            Consts.AM_I|Consts.OT_b,    1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "movnti",    Consts.AM_M|Consts.OT_d|Consts.P_w,               Consts.AM_G|Consts.OT_d|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE|(InstructionType)Consts.TYPE_3,"pinsrw", Consts.AM_P|Consts.OT_w|Consts.P_w,               Consts.AM_E|Consts.OT_w|Consts.P_r,             Consts.AM_I|Consts.OT_b,    1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE|(InstructionType)Consts.TYPE_3,"pextrv", Consts.AM_G|Consts.OT_w|Consts.P_w,               Consts.AM_P|Consts.OT_w|Consts.P_r,             Consts.AM_I|Consts.OT_b|Consts.P_r,1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE|(InstructionType)Consts.TYPE_3,"shufps", Consts.AM_V|Consts.OT_ps|Consts.P_w,              Consts.AM_W|Consts.OT_ps|Consts.P_r,            Consts.AM_I|Consts.OT_b|Consts.P_r,1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  "g9",        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_BSWAP,  "bswap",     Consts.AM_REG|Consts.REG_EAX|Consts.OT_v|Consts.P_w,     Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_BSWAP,  "bswap",     Consts.AM_REG|Consts.REG_ECX|Consts.OT_v|Consts.P_w,     Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_BSWAP,  "bswap",     Consts.AM_REG|Consts.REG_EDX|Consts.OT_v|Consts.P_w,     Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_BSWAP,  "bswap",     Consts.AM_REG|Consts.REG_EBX|Consts.OT_v|Consts.P_w,     Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_BSWAP,  "bswap",     Consts.AM_REG|Consts.REG_ESP|Consts.OT_v|Consts.P_w,     Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_BSWAP,  "bswap",     Consts.AM_REG|Consts.REG_EBP|Consts.OT_v|Consts.P_w,     Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_BSWAP,  "bswap",     Consts.AM_REG|Consts.REG_ESI|Consts.OT_v|Consts.P_w,     Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_BSWAP,  "bswap",     Consts.AM_REG|Consts.REG_EDI|Consts.OT_v|Consts.P_w,     Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER|(InstructionType)Consts.TYPE_3,null,   Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"psrlw",  Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"psrld",  Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"psrlq",  Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"paddq",  Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"pmullw", Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER|(InstructionType)Consts.TYPE_3,null,   Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"pmovmskb",Consts.AM_G|Consts.OT_q|Consts.P_w,               Consts.AM_P|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"psubusb",Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"psubusw",Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"pminub", Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"pand",   Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"paddusb",Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"paddusw",Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"pmaxsw", Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"pandn",  Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"pavgb",  Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"psraw",  Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"psrad",  Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"pavgw",  Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"pmulhuw",Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"pmulhw", Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER|(InstructionType)Consts.TYPE_3,null,   Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"movntq", Consts.AM_M|Consts.OT_q|Consts.P_w,               Consts.AM_V|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"psubsb", Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"psubsw", Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"pminsw", Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"por",    Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"paddsb", Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"paddsw", Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"pmaxsw", Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"pxor",   Consts.AM_P|Consts.OT_q,                   Consts.AM_Q|Consts.OT_q,                 Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER|(InstructionType)Consts.TYPE_3,null,   Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"psllw",  Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"pslld",  Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"psllq",  Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"pmuludq",Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"pmaddwd",Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"psadbw", Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
	
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"maskmovq",Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"psubb",  Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"psubw",  Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"psubd",  Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"psubq",  Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"paddb",  Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"paddw",  Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_MMX|(InstructionType)Consts.TYPE_3,"paddd",  Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
};






        public static INST[] inst_table3_66 = new INST[256]{
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "movupd",    Consts.AM_V|Consts.OT_pd|Consts.P_w,              Consts.AM_W|Consts.OT_pd|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "movupd",    Consts.AM_W|Consts.OT_pd|Consts.P_w,              Consts.AM_V|Consts.OT_pd|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "movlpd",    Consts.AM_V|Consts.OT_q|Consts.P_w,               Consts.AM_M|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "movlpd",    Consts.AM_M|Consts.OT_q|Consts.P_w,               Consts.AM_V|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "unpcklpd",  Consts.AM_V|Consts.OT_pd|Consts.P_w,              Consts.AM_W|Consts.OT_pd|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "unpcklpd",  Consts.AM_V|Consts.OT_pd|Consts.P_w,              Consts.AM_W|Consts.OT_pd|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "movhpd",    Consts.AM_V|Consts.OT_q|Consts.P_w,               Consts.AM_M|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "movhpd",    Consts.AM_M|Consts.OT_q|Consts.P_w,               Consts.AM_V|Consts.OT_pd|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "movapd",    Consts.AM_V|Consts.OT_pd|Consts.P_w,              Consts.AM_W|Consts.OT_pd|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "movapd",    Consts.AM_W|Consts.OT_pd|Consts.P_w,              Consts.AM_V|Consts.OT_pd|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "cvtpi2pd",  Consts.AM_V|Consts.OT_pd|Consts.P_r,              Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "movntpd",   Consts.AM_M|Consts.OT_pd|Consts.P_w,              Consts.AM_V|Consts.OT_pd|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "cvttpd2pi", Consts.AM_P|Consts.OT_q|Consts.P_r,               Consts.AM_W|Consts.OT_pd|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "cvtpd2pi",  Consts.AM_P|Consts.OT_q|Consts.P_r,               Consts.AM_W|Consts.OT_pd|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "ucomisd",   Consts.AM_V|Consts.OT_sd|Consts.P_w,              Consts.AM_W|Consts.OT_sd|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "comisd",    Consts.AM_V|Consts.OT_sd|Consts.P_w,              Consts.AM_W|Consts.OT_sd|Consts.P_w,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "movmskpd",  Consts.AM_G|Consts.OT_d|Consts.P_w,               Consts.AM_V|Consts.OT_pd|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "sqrtpd",    Consts.AM_V|Consts.OT_pd|Consts.P_w,              Consts.AM_W|Consts.OT_pd|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "andpd",     Consts.AM_V|Consts.OT_pd|Consts.P_w,              Consts.AM_W|Consts.OT_pd|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "andnpd",    Consts.AM_V|Consts.OT_pd|Consts.P_w,              Consts.AM_W|Consts.OT_pd|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "orpd",      Consts.AM_V|Consts.OT_pd|Consts.P_w,              Consts.AM_W|Consts.OT_pd|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "xorpd",     Consts.AM_V|Consts.OT_pd|Consts.P_w,              Consts.AM_W|Consts.OT_pd|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "addpd",     Consts.AM_V|Consts.OT_pd|Consts.P_w,              Consts.AM_W|Consts.OT_ps|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "mulpd",     Consts.AM_V|Consts.OT_pd|Consts.P_w,              Consts.AM_W|Consts.OT_ps|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "cvtpd2ps",  Consts.AM_V|Consts.OT_pd|Consts.P_r,              Consts.AM_W|Consts.OT_pd|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "cvtps2dq",  Consts.AM_V|Consts.OT_pd|Consts.P_r,              Consts.AM_W|Consts.OT_ps|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "subpd",     Consts.AM_V|Consts.OT_pd|Consts.P_w,              Consts.AM_W|Consts.OT_ps|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "minpd",     Consts.AM_V|Consts.OT_pd|Consts.P_w,              Consts.AM_W|Consts.OT_pd|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "divpd",     Consts.AM_V|Consts.OT_pd|Consts.P_w,              Consts.AM_W|Consts.OT_pd|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "maxpd",     Consts.AM_V|Consts.OT_pd|Consts.P_w,              Consts.AM_W|Consts.OT_pd|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "punpcklbw", Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "punpcklwd", Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "punockldq", Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "packusdw",  Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "pcmpgtb",   Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "pcmpgtw",   Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "pcmpgtd",   Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "packsswb",  Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "punpckhbw", Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_Q|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "punpckhbd", Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_Q|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "punpckhdq", Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_Q|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "packssdw",  Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_Q|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "punpcklqdq", Consts.AM_V|Consts.OT_dq|Consts.P_w,             Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "punpckhqd", Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "movd",      Consts.AM_V|Consts.OT_d|Consts.P_w,               Consts.AM_E|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "movdqa",    Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "pshufd",    Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.AM_I|Consts.OT_b,    1, 0, 0, 0, 0 ),
	
new INST( InstructionType.INSTRUCTION_TYPE_SSE,   "g12",        Consts.AM_P|Consts.OT_dq,                  Consts.AM_I|Consts.OT_b,                 Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,   "g13",        Consts.AM_W|Consts.OT_dq,                  Consts.AM_I|Consts.OT_b,                 Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,   "g14",        Consts.AM_W|Consts.OT_dq,                  Consts.AM_I|Consts.OT_b,                 Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "pcmpeqb",   Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "pcmpeqw",   Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "pcmpeqd",   Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,   "haddpd",     Consts.AM_V|Consts.OT_pd,                  Consts.AM_W|Consts.OT_pd,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,   "hsubpd",     Consts.AM_V|Consts.OT_pd,                  Consts.AM_W|Consts.OT_pd,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "movd",      Consts.AM_E|Consts.OT_d|Consts.P_w,               Consts.AM_V|Consts.OT_d|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "movdqa",    Consts.AM_W|Consts.OT_dq|Consts.P_w,              Consts.AM_V|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "cmppd",     Consts.AM_V|Consts.OT_pd|Consts.P_r,              Consts.AM_W|Consts.OT_pd|Consts.P_r,            Consts.AM_I|Consts.OT_b,    1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "pinsrw",    Consts.AM_V|Consts.OT_w|Consts.P_w,               Consts.AM_E|Consts.OT_w|Consts.P_r,             Consts.AM_I|Consts.OT_b,    1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "pextrv",    Consts.AM_G|Consts.OT_w|Consts.P_w,               Consts.AM_V|Consts.OT_w|Consts.P_r,             Consts.AM_I|Consts.OT_b|Consts.P_r,1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "shufpd",    Consts.AM_V|Consts.OT_pd|Consts.P_w,              Consts.AM_W|Consts.OT_pd|Consts.P_r,            Consts.AM_I|Consts.OT_b|Consts.P_r,1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "addsubpd",  Consts.AM_V|Consts.OT_pd|Consts.P_w,              Consts.AM_W|Consts.OT_pd|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "psrlw",     Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_Q|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "psrld",     Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "psrlq",     Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "paddq",     Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "pmullw",    Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "movq",      Consts.AM_W|Consts.OT_q|Consts.P_w,               Consts.AM_V|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "pmovmskb",  Consts.AM_G|Consts.OT_d|Consts.P_w,               Consts.AM_V|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "psubusb",   Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "psubusw",   Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "pminub",    Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "pand",      Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "paddusb",   Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "paddusw",   Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "pmaxsw",    Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "pandn",     Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "pavgb",     Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "psraw",     Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "psrad",     Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "pavgw",     Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "pmulhuw",   Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "pmulhw",    Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "cvttpd2dq", Consts.AM_V|Consts.OT_dq|Consts.P_r,              Consts.AM_W|Consts.OT_pd|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "movntq",    Consts.AM_M|Consts.OT_dq|Consts.P_w,              Consts.AM_V|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "psubsb",    Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "psubsw",    Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "pminsw",    Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "por",       Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "paddsb",    Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "paddsw",    Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "pmaxsw",    Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "pxor",      Consts.AM_V|Consts.OT_dq,                  Consts.AM_W|Consts.OT_dq,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "psllw",     Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "pslld",     Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "psllq",     Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "pmuludq",   Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "pmaddwd",   Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "psadbw",    Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "maskmovdqu", Consts.AM_V|Consts.OT_dq|Consts.P_w,             Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "psubb",     Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "psubw",     Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "psubd",     Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "psubq",     Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "paddb",     Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "paddw",     Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "paddd",     Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
};



        public static INST[] inst_table3_f2 = new INST[256]{
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "movsd",     Consts.AM_V|Consts.OT_sd|Consts.P_w,              Consts.AM_W|Consts.OT_sd|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "movsd",     Consts.AM_W|Consts.OT_sd|Consts.P_w,              Consts.AM_V|Consts.OT_sd|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "movddup",   Consts.AM_V|Consts.OT_q|Consts.P_w,               Consts.AM_W|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "cvtsi2sd",  Consts.AM_V|Consts.OT_sd|Consts.P_r,              Consts.AM_E|Consts.OT_d|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "cvttsd2si", Consts.AM_G|Consts.OT_d|Consts.P_r,               Consts.AM_W|Consts.OT_sd|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "cvtsd2si",  Consts.AM_G|Consts.OT_d|Consts.P_r,               Consts.AM_W|Consts.OT_sd|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "sqrtsd",    Consts.AM_V|Consts.OT_sd|Consts.P_w,              Consts.AM_W|Consts.OT_sd|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "addsd",     Consts.AM_V|Consts.OT_sd|Consts.P_w,              Consts.AM_W|Consts.OT_sd|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "mulsd",     Consts.AM_V|Consts.OT_sd|Consts.P_w,              Consts.AM_W|Consts.OT_sd|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "cvtsd2ss",  Consts.AM_V|Consts.OT_ss|Consts.P_r,              Consts.AM_W|Consts.OT_sd|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "subsd",     Consts.AM_V|Consts.OT_sd|Consts.P_w,              Consts.AM_W|Consts.OT_sd|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "minsd",     Consts.AM_V|Consts.OT_sd|Consts.P_w,              Consts.AM_W|Consts.OT_sd|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "divsd",     Consts.AM_V|Consts.OT_sd|Consts.P_w,              Consts.AM_W|Consts.OT_sd|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "maxsd",     Consts.AM_V|Consts.OT_sd|Consts.P_w,              Consts.AM_W|Consts.OT_sd|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "pshuflw",   Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.AM_I|Consts.OT_b,    1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,   "haddps",     Consts.AM_V|Consts.OT_ps,                  Consts.AM_W|Consts.OT_ps,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,   "hsubps",     Consts.AM_V|Consts.OT_ps,                  Consts.AM_W|Consts.OT_ps,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "cmpsd",     Consts.AM_V|Consts.OT_sd|Consts.P_r,              Consts.AM_W|Consts.OT_sd|Consts.P_r,            Consts.AM_I|Consts.OT_b,    1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "addsubpd",  Consts.AM_V|Consts.OT_ps|Consts.P_w,              Consts.AM_W|Consts.OT_ps|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "movdq2q",   Consts.AM_P|Consts.OT_q|Consts.P_w,               Consts.AM_V|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "cvtpd2dq",  Consts.AM_V|Consts.OT_dq|Consts.P_r,              Consts.AM_W|Consts.OT_pd|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,   "lddqu",      Consts.AM_V|Consts.OT_dq,                  Consts.AM_M|Consts.OT_dq,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
};



        public static INST[] inst_table3_f3 = new INST[256]{
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "movss",     Consts.AM_V|Consts.OT_ss|Consts.P_w,              Consts.AM_W|Consts.OT_ss|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "movss",     Consts.AM_W|Consts.OT_ss|Consts.P_w,              Consts.AM_V|Consts.OT_ss|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "movsldup",  Consts.AM_V|Consts.OT_ps|Consts.P_w,              Consts.AM_W|Consts.OT_ps|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "movshdup",  Consts.AM_V|Consts.OT_ps|Consts.P_w,              Consts.AM_W|Consts.OT_ps|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "cvtsi2ss",  Consts.AM_V|Consts.OT_ss|Consts.P_r,              Consts.AM_E|Consts.OT_d|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "cvttss2si", Consts.AM_G|Consts.OT_d|Consts.P_r,               Consts.AM_W|Consts.OT_ss|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "cvtss2si",  Consts.AM_G|Consts.OT_d|Consts.P_r,               Consts.AM_W|Consts.OT_ss|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "sqrtss",    Consts.AM_V|Consts.OT_ss|Consts.P_w,              Consts.AM_W|Consts.OT_ss|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "rsqrtss",   Consts.AM_V|Consts.OT_ss|Consts.P_w,              Consts.AM_W|Consts.OT_ss|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "rcpss",     Consts.AM_V|Consts.OT_ss|Consts.P_w,              Consts.AM_W|Consts.OT_ss|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "addss",     Consts.AM_V|Consts.OT_ss|Consts.P_w,              Consts.AM_W|Consts.OT_ss|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "mulss",     Consts.AM_V|Consts.OT_ss|Consts.P_w,              Consts.AM_W|Consts.OT_ss|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "cvtsd2sd",  Consts.AM_V|Consts.OT_sd|Consts.P_r,              Consts.AM_W|Consts.OT_ss|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "cvttps2dq", Consts.AM_V|Consts.OT_dq|Consts.P_r,              Consts.AM_W|Consts.OT_ps|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "subss",     Consts.AM_V|Consts.OT_ss|Consts.P_w,              Consts.AM_W|Consts.OT_ss|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "minss",     Consts.AM_V|Consts.OT_ss|Consts.P_w,              Consts.AM_W|Consts.OT_ss|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "divss",     Consts.AM_V|Consts.OT_ss|Consts.P_w,              Consts.AM_W|Consts.OT_ss|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "maxss",     Consts.AM_V|Consts.OT_ss|Consts.P_w,              Consts.AM_W|Consts.OT_ss|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "movdqu",    Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.AM_I|Consts.OT_b,    1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "pshufhw",   Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.AM_I|Consts.OT_b,    1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "movq",      Consts.AM_V|Consts.OT_q|Consts.P_w,               Consts.AM_W|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "movdqu",    Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_W|Consts.OT_dq|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "cmpss",     Consts.AM_V|Consts.OT_ss|Consts.P_r,              Consts.AM_W|Consts.OT_ss|Consts.P_r,            Consts.AM_I|Consts.OT_b,    1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "movq2dq",   Consts.AM_V|Consts.OT_dq|Consts.P_w,              Consts.AM_Q|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "cvtdq2pd",  Consts.AM_V|Consts.OT_pd|Consts.P_r,              Consts.AM_W|Consts.OT_q|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
};



        public static INST[] inst_table_ext1_1 = new INST[8]{
	new INST( InstructionType.INSTRUCTION_TYPE_ADD,   "add",        Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_MATH, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_OR,    "or",         Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_BITWISE, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_ADC,   "adc",        Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_MATH, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_SBB,   "sbb",        Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_MATH, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_AND,   "and",        Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_BITWISE, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_SUB,   "sub",        Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_MATH, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_XOR,   "xor",        Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_BITWISE, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_CMP,   "cmp",        Consts.AM_E|Consts.OT_b|Consts.P_r,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_ALL_COMMON, 0, 0, 0 ),
};
        public static INST[] inst_table_ext1_2 = new INST[8]{
	new INST( InstructionType.INSTRUCTION_TYPE_ADD,   "add",        Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_I|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_MATH, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_OR,    "or",         Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_I|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_BITWISE, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_ADC,   "adc",        Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_I|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_MATH, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_SBB,   "sbb",        Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_I|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_MATH, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_AND,   "and",        Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_I|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_BITWISE, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_SUB,   "sub",        Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_I|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_MATH, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_XOR,   "xor",        Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_I|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_BITWISE, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_CMP,   "cmp",        Consts.AM_E|Consts.OT_v|Consts.P_r,               Consts.AM_I|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_ALL_COMMON, 0, 0, 0 ),
};
        public static INST[] inst_table_ext1_3 = new INST[8]{
	new INST( InstructionType.INSTRUCTION_TYPE_ADD,   "add",        Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.F_s|Consts.P_r,         Consts.FLAGS_NONE,   1, Consts.EFL_MATH, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_OR,    "or",         Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.F_s|Consts.P_r,         Consts.FLAGS_NONE,   1, Consts.EFL_BITWISE, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_ADC,   "adc",        Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.F_s|Consts.P_r,         Consts.FLAGS_NONE,   1, Consts.EFL_MATH, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_SBB,   "sbb",        Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.F_s|Consts.P_r,         Consts.FLAGS_NONE,   1, Consts.EFL_MATH, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_AND,   "and",        Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.F_s|Consts.P_r,         Consts.FLAGS_NONE,   1, Consts.EFL_BITWISE, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_SUB,   "sub",        Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.F_s|Consts.P_r,         Consts.FLAGS_NONE,   1, Consts.EFL_MATH, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_XOR,   "xor",        Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.F_s|Consts.P_r,         Consts.FLAGS_NONE,   1, Consts.EFL_BITWISE, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_CMP,   "cmp",        Consts.AM_E|Consts.OT_v|Consts.P_r,               Consts.AM_I|Consts.OT_b|Consts.F_s|Consts.P_r,         Consts.FLAGS_NONE,   1, Consts.EFL_ALL_COMMON, 0, 0, 0 ),
};

        public static INST[] inst_table_ext2_1 = new INST[8]{
	new INST( InstructionType.INSTRUCTION_TYPE_ROX,   "rol",        Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_ROX,   "ror",        Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_ROX,   "rcl",        Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_ROX,   "rcr",        Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_SHX,   "shl",        Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_SHX,   "shr",        Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_SHX,   "sal",        Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_SHX,   "sar",        Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF, 0, 0, 0 ),
};
        public static INST[] inst_table_ext2_2 = new INST[8]{
	new INST( InstructionType.INSTRUCTION_TYPE_ROX,   "rol",        Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_ROX,   "ror",        Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_ROX,   "rcl",        Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_ROX,   "rcr",        Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_SHX,   "shl",        Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_SHX,   "shr",        Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_SHX,   "sal",        Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_SHX,   "sar",        Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF, 0, 0, 0 ),
};
        public static INST[] inst_table_ext2_3 = new INST[8]{
	new INST( InstructionType.INSTRUCTION_TYPE_ROX,   "rol",        Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_I1|Consts.OT_b|Consts.P_r,            Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_ROX,   "ror",        Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_I1|Consts.OT_b|Consts.P_r,            Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_ROX,   "rcl",        Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_I1|Consts.OT_b|Consts.P_r,            Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_ROX,   "rcr",        Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_I1|Consts.OT_b|Consts.P_r,            Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_SHX,   "shl",        Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_I1|Consts.OT_b|Consts.P_r,            Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_SHX,   "shr",        Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_I1|Consts.OT_b|Consts.P_r,            Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_SHX,   "sal",        Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_I1|Consts.OT_b|Consts.P_r,            Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_SHX,   "sar",        Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_I1|Consts.OT_b|Consts.P_r,            Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF, 0, 0, 0 ),
};
        public static INST[] inst_table_ext2_4 = new INST[8]{
	new INST( InstructionType.INSTRUCTION_TYPE_ROX,   "rol",        Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_I1|Consts.OT_b|Consts.P_r,            Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_ROX,   "ror",        Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_I1|Consts.OT_b|Consts.P_r,            Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_ROX,   "rcl",        Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_I1|Consts.OT_b|Consts.P_r,            Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_ROX,   "rcr",        Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_I1|Consts.OT_b|Consts.P_r,            Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_SHX,   "shl",        Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_I1|Consts.OT_b|Consts.P_r,            Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_SHX,   "shr",        Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_I1|Consts.OT_b|Consts.P_r,            Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_SHX,   "sal",        Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_I1|Consts.OT_b|Consts.P_r,            Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_SHX,   "sar",        Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_I1|Consts.OT_b|Consts.P_r,            Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF, 0, 0, 0 ),
};
        public static INST[] inst_table_ext2_5 = new INST[8]{
	new INST( InstructionType.INSTRUCTION_TYPE_ROX,   "rol",        Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_REG|Consts.REG_CL|Consts.OT_b|Consts.P_r,    Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_ROX,   "ror",        Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_REG|Consts.REG_CL|Consts.OT_b|Consts.P_r,    Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_ROX,   "rcl",        Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_REG|Consts.REG_CL|Consts.OT_b|Consts.P_r,    Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_ROX,   "rcr",        Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_REG|Consts.REG_CL|Consts.OT_b|Consts.P_r,    Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_SHX,   "shl",        Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_REG|Consts.REG_CL|Consts.OT_b|Consts.P_r,    Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_SHX,   "shr",        Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_REG|Consts.REG_CL|Consts.OT_b|Consts.P_r,    Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_SHX,   "sal",        Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_REG|Consts.REG_CL|Consts.OT_b|Consts.P_r,    Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_SHX,   "sar",        Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.AM_REG|Consts.REG_CL|Consts.OT_b|Consts.P_r,    Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF, 0, 0, 0 ),
};
        public static INST[] inst_table_ext2_6 = new INST[8]{
	new INST( InstructionType.INSTRUCTION_TYPE_ROX,   "rol",        Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_REG|Consts.REG_CL|Consts.OT_b|Consts.P_r,    Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_ROX,   "ror",        Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_REG|Consts.REG_CL|Consts.OT_b|Consts.P_r,    Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_ROX,   "rcl",        Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_REG|Consts.REG_CL|Consts.OT_b|Consts.P_r,    Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_ROX,   "rcr",        Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_REG|Consts.REG_CL|Consts.OT_b|Consts.P_r,    Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_SHX,   "shl",        Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_REG|Consts.REG_CL|Consts.OT_b|Consts.P_r,    Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_SHX,   "shr",        Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_REG|Consts.REG_CL|Consts.OT_b|Consts.P_r,    Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_SHX,   "sal",        Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_REG|Consts.REG_CL|Consts.OT_b|Consts.P_r,    Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_SHX,   "sar",        Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.AM_REG|Consts.REG_CL|Consts.OT_b|Consts.P_r,    Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF, 0, 0, 0 ),
};

        public static INST[] inst_table_ext3_1 = new INST[8]{
	new INST( InstructionType.INSTRUCTION_TYPE_TEST,   "test",      Consts.AM_E|Consts.OT_b|Consts.P_r,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_OF|Consts.EFL_CF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_TEST,   "test",      Consts.AM_E|Consts.OT_b|Consts.P_r,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_OF|Consts.EFL_CF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_NOT,    "not",       Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_NEG,    "neg",       Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, Consts.EFL_CF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_MUL,    "mul",       Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.FLAGS_NONE|Consts.P_r,            Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF, 0, Consts.IOP_EAX, Consts.IOP_EAX ),
	new INST( InstructionType.INSTRUCTION_TYPE_IMUL,   "imul",      Consts.AM_E|Consts.OT_b|Consts.P_r,               Consts.FLAGS_NONE|Consts.P_r,           Consts.FLAGS_NONE|Consts.P_r,1, Consts.EFL_CF|Consts.EFL_OF, 0, Consts.IOP_EAX, Consts.IOP_EAX ),
	new INST( InstructionType.INSTRUCTION_TYPE_DIV,    "div",       Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.FLAGS_NONE|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, Consts.IOP_EAX, Consts.IOP_EAX ),
	new INST( InstructionType.INSTRUCTION_TYPE_IDIV,   "idiv",      Consts.AM_E|Consts.OT_b|Consts.P_w,               Consts.FLAGS_NONE|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, Consts.IOP_EAX, Consts.IOP_EAX ),
};
        public static INST[] inst_table_ext3_2 = new INST[8]{
	new INST( InstructionType.INSTRUCTION_TYPE_TEST,   "test",      Consts.AM_E|Consts.OT_v|Consts.P_r,               Consts.AM_I|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_OF|Consts.EFL_CF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_TEST,   "test",      Consts.AM_E|Consts.OT_v|Consts.P_r,               Consts.AM_I|Consts.OT_v|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_OF|Consts.EFL_CF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_PF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_NOT,    "not",       Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_NEG,    "neg",       Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, Consts.EFL_CF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_MUL,    "mul",       Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.FLAGS_NONE|Consts.P_r,            Consts.FLAGS_NONE,   1, Consts.EFL_CF|Consts.EFL_OF, 0, Consts.IOP_EAX|Consts.IOP_EDX, Consts.IOP_EAX ),
	new INST( InstructionType.INSTRUCTION_TYPE_IMUL,   "imul",      Consts.AM_E|Consts.OT_v|Consts.P_r,               Consts.FLAGS_NONE|Consts.P_r,           Consts.FLAGS_NONE|Consts.P_r,1, Consts.EFL_CF|Consts.EFL_OF, 0, Consts.IOP_EAX|Consts.IOP_EDX, Consts.IOP_EAX ),
	new INST( InstructionType.INSTRUCTION_TYPE_DIV,    "div",       Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.FLAGS_NONE|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, Consts.IOP_EAX|Consts.IOP_EDX, Consts.IOP_EAX|Consts.IOP_EDX ),
	new INST( InstructionType.INSTRUCTION_TYPE_IDIV,   "idiv",      Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.FLAGS_NONE|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, Consts.IOP_EAX|Consts.IOP_EDX, Consts.IOP_EAX|Consts.IOP_EDX ),
};

        public static INST[] inst_table_ext4 = new INST[8]{
	new INST( InstructionType.INSTRUCTION_TYPE_INC,    "inc",       Consts.AM_E|Consts.OT_b|Consts.P_r,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_AF|Consts.EFL_PF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_DEC,    "dec",       Consts.AM_E|Consts.OT_b,                   Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_AF|Consts.EFL_PF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
};

        public static INST[] inst_table_ext5 = new INST[8]{
	new INST( InstructionType.INSTRUCTION_TYPE_INC,    "inc",       Consts.AM_E|Consts.OT_v|Consts.P_r,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_AF|Consts.EFL_PF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_DEC,    "dec",       Consts.AM_E|Consts.OT_v,                   Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, Consts.EFL_OF|Consts.EFL_SF|Consts.EFL_ZF|Consts.EFL_AF|Consts.EFL_PF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_CALL,   "call",      Consts.AM_E|Consts.OT_v|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, Consts.IOP_ESP, Consts.IOP_ESP ),
	new INST( InstructionType.INSTRUCTION_TYPE_CALL,   "callf",     Consts.AM_E|Consts.OT_v|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, Consts.IOP_ESP, Consts.IOP_ESP ),
	new INST( InstructionType.INSTRUCTION_TYPE_JMP,    "jmp",       Consts.AM_E|Consts.OT_v|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_JMP,    "jmpf",      Consts.AM_E|Consts.OT_v|Consts.P_x,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_PUSH,   "push",      Consts.AM_E|Consts.OT_v|Consts.P_r,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, Consts.IOP_ESP, Consts.IOP_ESP ),
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
};

        public static INST[] inst_table_ext6 = new INST[8]{
        new INST( InstructionType.INSTRUCTION_TYPE_SLDT,   "sldt",      Consts.AM_E|Consts.OT_w|Consts.P_r,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
        new INST( InstructionType.INSTRUCTION_TYPE_PRIV,   "str",       Consts.AM_E|Consts.OT_w|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
        new INST( InstructionType.INSTRUCTION_TYPE_PRIV,   "lldt",      Consts.AM_E|Consts.OT_w|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
        new INST( InstructionType.INSTRUCTION_TYPE_PRIV,   "ltr",       Consts.AM_E|Consts.OT_w|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
        new INST( InstructionType.INSTRUCTION_TYPE_PRIV,   "verr",      Consts.AM_E|Consts.OT_w|Consts.P_r,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, Consts.EFL_ZF, 0, 0, 0 ),
        new INST( InstructionType.INSTRUCTION_TYPE_PRIV,   "verw",      Consts.AM_E|Consts.OT_w|Consts.P_r,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, Consts.EFL_ZF, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
};

        public static INST[] inst_table_ext7 = new INST[8]{
        new INST( InstructionType.INSTRUCTION_TYPE_SGDT,  "sgdt",       Consts.AM_M|Consts.OT_d|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
        new INST( InstructionType.INSTRUCTION_TYPE_SIDT,  "sidt",       Consts.AM_M|Consts.OT_d|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
        new INST( InstructionType.INSTRUCTION_TYPE_PRIV,  "lgdt",       Consts.AM_M|Consts.OT_d|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
        new INST( InstructionType.INSTRUCTION_TYPE_PRIV,  "lidt",       Consts.AM_M|Consts.OT_d|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
        new INST( InstructionType.INSTRUCTION_TYPE_PRIV,  "smsw",       Consts.AM_E|Consts.OT_w|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
        new INST( InstructionType.INSTRUCTION_TYPE_PRIV,  "lmsw",       Consts.AM_E|Consts.OT_w|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, Consts.IOP_EAX, 0 ),
        new INST( InstructionType.INSTRUCTION_TYPE_PRIV,  "invlpg",     Consts.AM_M|Consts.OT_b|Consts.P_r,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
};
        public static INST inst_monitor =
            new INST(InstructionType.INSTRUCTION_TYPE_OTHER, "monitor", Consts.FLAGS_NONE | Consts.P_w, Consts.FLAGS_NONE | Consts.P_r, Consts.FLAGS_NONE, 0, 0, 0, Consts.IOP_EAX | Consts.IOP_ECX | Consts.IOP_EDX, Consts.IOP_EAX | Consts.IOP_ECX | Consts.IOP_EDX);
        public static INST inst_mwait =
            new INST(InstructionType.INSTRUCTION_TYPE_OTHER, "mwait", Consts.FLAGS_NONE, Consts.FLAGS_NONE, Consts.FLAGS_NONE, 0, 0, 0, Consts.IOP_EAX | Consts.IOP_ECX, Consts.IOP_EAX | Consts.IOP_ECX);

        public static INST[] inst_table_ext8 = new INST[8]{
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
        new INST( InstructionType.INSTRUCTION_TYPE_BT,     "bt",        Consts.AM_E|Consts.OT_v|Consts.P_r,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_CF, 0, 0, 0 ),
        new INST( InstructionType.INSTRUCTION_TYPE_BTS,    "bts",       Consts.AM_E|Consts.OT_v|Consts.P_r,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_CF, 0, 0, 0 ),
        new INST( InstructionType.INSTRUCTION_TYPE_BTR,    "btr",       Consts.AM_E|Consts.OT_v|Consts.P_r,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_CF, 0, 0, 0 ),
        new INST( InstructionType.INSTRUCTION_TYPE_BTC,    "btc",       Consts.AM_E|Consts.OT_v|Consts.P_r,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, Consts.EFL_CF, 0, 0, 0 ),
};

        public static INST[] inst_table_ext9 = new INST[8]{
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_SSE,   "cmpxch8b",   Consts.AM_M|Consts.OT_q,                   Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, Consts.EFL_ALL_COMMON, 0, Consts.IOP_EAX|Consts.IOP_EDX, Consts.IOP_EAX|Consts.IOP_EBX|Consts.IOP_ECX|Consts.IOP_EDX ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
};

        public static INST[] inst_table_ext10 = new INST[8]{
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
};


        public static INST[] inst_table_ext11 = new INST[8]{
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
};


        public static INST[] inst_table_ext12 = new INST[8]{
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
        new INST( InstructionType.INSTRUCTION_TYPE_MMX,    "psrlw",     Consts.AM_Q|Consts.OT_q|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
        new INST( InstructionType.INSTRUCTION_TYPE_MMX,    "psraw",     Consts.AM_Q|Consts.OT_q|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
        new INST( InstructionType.INSTRUCTION_TYPE_MMX,    "psllw",     Consts.AM_Q|Consts.OT_q|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
};

        public static INST[] inst_table_ext12_66 = new INST[8]{
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
        new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "psrlw",     Consts.AM_W|Consts.OT_dq|Consts.P_w,              Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
        new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "psraw",     Consts.AM_W|Consts.OT_dq|Consts.P_w,              Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
        new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "psllw",     Consts.AM_W|Consts.OT_dq|Consts.P_w,              Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
};


        public static INST[] inst_table_ext13 = new INST[8]{
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
        new INST( InstructionType.INSTRUCTION_TYPE_MMX,    "psrld",     Consts.AM_Q|Consts.OT_q|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
        new INST( InstructionType.INSTRUCTION_TYPE_MMX,    "psrad",     Consts.AM_Q|Consts.OT_q|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
        new INST( InstructionType.INSTRUCTION_TYPE_MMX,    "pslld",     Consts.AM_Q|Consts.OT_q|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
};

        public static INST[] inst_table_ext13_66 = new INST[8]{
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
        new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "psrld",     Consts.AM_W|Consts.OT_dq|Consts.P_w,              Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
        new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "psrad",     Consts.AM_W|Consts.OT_dq|Consts.P_w,              Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
        new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "pslld",     Consts.AM_W|Consts.OT_dq|Consts.P_w,              Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
};


        public static INST[] inst_table_ext14 = new INST[8]{
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
        new INST( InstructionType.INSTRUCTION_TYPE_MMX,    "psrlq",     Consts.AM_Q|Consts.OT_q|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
        new INST( InstructionType.INSTRUCTION_TYPE_MMX,    "psllq",     Consts.AM_Q|Consts.OT_q|Consts.P_w,               Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
};

        public static INST[] inst_table_ext14_66 = new INST[8]{
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
        new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "psrlq",     Consts.AM_W|Consts.OT_dq|Consts.P_w,              Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
        new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "psrldq",    Consts.AM_W|Consts.OT_dq|Consts.P_w,              Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
        new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "psllq",     Consts.AM_W|Consts.OT_dq|Consts.P_w,              Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
        new INST( InstructionType.INSTRUCTION_TYPE_SSE,    "pslldq",    Consts.AM_W|Consts.OT_dq|Consts.P_w,              Consts.AM_I|Consts.OT_b|Consts.P_r,             Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
};

        public static INST[] inst_table_ext15 = new INST[8]{
        new INST( InstructionType.INSTRUCTION_TYPE_OTHER, "fxsave",     Consts.AM_E|Consts.OT_v,                   Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
        new INST( InstructionType.INSTRUCTION_TYPE_OTHER, "fxrstor",    Consts.AM_E|Consts.OT_v,                   Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
        new INST( InstructionType.INSTRUCTION_TYPE_OTHER, "ldmxcsr",    Consts.AM_E|Consts.OT_v,                   Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
        new INST( InstructionType.INSTRUCTION_TYPE_OTHER, "stmxcsr",    Consts.AM_E|Consts.OT_v,                   Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
        new INST( InstructionType.INSTRUCTION_TYPE_OTHER, "sfence",     Consts.AM_E|Consts.OT_v,                   Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
};

        public static INST[] inst_table_ext16 = new INST[8]{
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
	new INST( InstructionType.INSTRUCTION_TYPE_OTHER,  null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
};



        public static INST[][] inst_table_ext = new INST[][]{
	inst_table_ext1_1,
	inst_table_ext1_2,
	inst_table_ext1_3,
	inst_table_ext2_1,
	inst_table_ext2_2,
	inst_table_ext2_3,
	inst_table_ext2_4,
	inst_table_ext2_5,
	inst_table_ext2_6,
	inst_table_ext3_1,
	inst_table_ext3_2,
	inst_table_ext4,
	inst_table_ext5,
	inst_table_ext6,
	inst_table_ext7,
	inst_table_ext8,
	inst_table_ext9,
	inst_table_ext10,
	inst_table_ext11,
	inst_table_ext12,
	inst_table_ext13,
	inst_table_ext14,
	inst_table_ext15,
	inst_table_ext16,
};

        public static INST[] inst_table_fpu_d8 = new INST[72]{
new INST( InstructionType.INSTRUCTION_TYPE_FADD,   "fadds",     Consts.AM_E|Consts.OT_d|Consts.P_w,               Consts.FLAGS_NONE|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FMUL,   "fmuls",     Consts.AM_E|Consts.OT_d|Consts.P_w,               Consts.FLAGS_NONE|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCOM,   "fcoms",     Consts.AM_E|Consts.OT_d|Consts.P_w,               Consts.FLAGS_NONE|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCOMP,  "fcomps",    Consts.AM_E|Consts.OT_d|Consts.P_w,               Consts.FLAGS_NONE|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUB,   "fsubs",     Consts.AM_E|Consts.OT_d|Consts.P_w,               Consts.FLAGS_NONE|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUBR,  "fsubrs",    Consts.AM_E|Consts.OT_d|Consts.P_w,               Consts.FLAGS_NONE|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIV,   "fdivs",     Consts.AM_E|Consts.OT_d|Consts.P_w,               Consts.FLAGS_NONE|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIVR,  "fdivrs",    Consts.AM_E|Consts.OT_d|Consts.P_w,               Consts.FLAGS_NONE|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FADD,   "fadd",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FADD,   "fadd",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FADD,   "fadd",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FADD,   "fadd",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FADD,   "fadd",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FADD,   "fadd",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FADD,   "fadd",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FADD,   "fadd",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FMUL,   "fmul",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FMUL,   "fmul",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FMUL,   "fmul",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FMUL,   "fmul",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FMUL,   "fmul",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FMUL,   "fmul",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FMUL,   "fmul",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FMUL,   "fmul",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCOM,   "fcom",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCOM,   "fcom",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCOM,   "fcom",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCOM,   "fcom",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCOM,   "fcom",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCOM,   "fcom",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCOM,   "fcom",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCOM,   "fcom",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCOMP,  "fcomp",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCOMP,  "fcomp",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCOMP,  "fcomp",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCOMP,  "fcomp",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCOMP,  "fcomp",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCOMP,  "fcomp",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCOMP,  "fcomp",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCOMP,  "fcomp",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUB,   "fsub",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUB,   "fsub",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUB,   "fsub",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUB,   "fsub",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUB,   "fsub",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUB,   "fsub",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUB,   "fsub",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUB,   "fsub",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUBR,  "fsubr",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUBR,  "fsubr",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUBR,  "fsubr",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUBR,  "fsubr",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUBR,  "fsubr",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUBR,  "fsubr",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUBR,  "fsubr",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUBR,  "fsubr",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIV,   "fdiv",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIV,   "fdiv",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIV,   "fdiv",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIV,   "fdiv",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIV,   "fdiv",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIV,   "fdiv",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIV,   "fdiv",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIV,   "fdiv",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIVR,  "fdivr",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIVR,  "fdivr",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIVR,  "fdivr",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIVR,  "fdivr",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIVR,  "fdivr",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIVR,  "fdivr",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIVR,  "fdivr",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIVR,  "fdivr",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
};
        public static INST[] inst_table_fpu_d9 = new INST[72]{
new INST( InstructionType.INSTRUCTION_TYPE_FLD,    "flds",      Consts.AM_E|Consts.OT_d,                   Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FST,    "fst",       Consts.AM_E|Consts.OT_d|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSTP,   "fstp",      Consts.AM_E|Consts.OT_d|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
	
new INST( InstructionType.INSTRUCTION_TYPE_FPU_CTRL,"fldenv",    Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FPU_CTRL,"fldcw",     Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FPU_CTRL,"fstenv",    Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FPU_CTRL,"fstcw",     Consts.AM_E|Consts.OT_v|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FLD,    "fld",       Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FLD,    "fld",       Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FLD,    "fld",       Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FLD,    "fld",       Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FLD,    "fld",       Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FLD,    "fld",       Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FLD,    "fld",       Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FLD,    "fld",       Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FXCH,   "fxch",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FXCH,   "fxch",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FXCH,   "fxch",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FXCH,   "fxch",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FXCH,   "fxch",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FXCH,   "fxch",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FXCH,   "fxch",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FXCH,   "fxch",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    "fnop",      Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    "fchs",      Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    "fabs",      Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    "ftst",      Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    "fxam",      Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    "fld1",      Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    "fldl2t",    Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    "fldl2e",    Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    "fldpi",     Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    "fldlg2",    Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    "fldln2",    Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    "fldz",      Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    "f2xm1",     Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    "fyl2x",     Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    "fptan",     Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    "fpatan",    Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    "fxtract",   Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    "fprem1",    Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    "fdecstp",   Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    "fincstp",   Consts.FLAGS_NONE|Consts.P_w,              Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    "fprem",     Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    "fyl2xp1",   Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    "fsqrt",     Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    "fsincos",   Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    "frndint",   Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    "fscale",    Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    "fsin",      Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    "fcos",      Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
};
        public static INST[] inst_table_fpu_da = new INST[72]{
new INST( InstructionType.INSTRUCTION_TYPE_FIADD,  "fiaddl",    Consts.AM_E|Consts.OT_d|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FIMUL,  "fimull",    Consts.AM_E|Consts.OT_d|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FICOM,  "ficoml",    Consts.AM_E|Consts.OT_d|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FICOMP, "ficompl",   Consts.AM_E|Consts.OT_d|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FISUB,  "fisubl",    Consts.AM_E|Consts.OT_d|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FISUBR, "fisubrl",   Consts.AM_E|Consts.OT_d|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FIDIV,  "fidivl",    Consts.AM_E|Consts.OT_d|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FIDIVR, "fidivrl",   Consts.AM_E|Consts.OT_d|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovb",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovb",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovb",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovb",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovb",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovb",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovb",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovb",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmove",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmove",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmove",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmove",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmove",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmove",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmove",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmove",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovbe",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovbe",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovbe",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovbe",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovbe",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovbe",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovbe",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovbe",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovu",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovu",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovu",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovu",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovu",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovu",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovu",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovu",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FUCOMP, "fucompp",   Consts.FLAGS_NONE|Consts.P_w,              Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
};


        public static INST[] inst_table_fpu_db = new INST[72]{
new INST( InstructionType.INSTRUCTION_TYPE_FILD,   "fildl",     Consts.AM_E|Consts.OT_d|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FISTTP, "fisttp",    Consts.AM_E|Consts.OT_d|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FIST,   "fistl",     Consts.AM_E|Consts.OT_d|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FISTP,  "fistp",     Consts.AM_E|Consts.OT_d|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FLD,    "fldt",      Consts.AM_E|Consts.OT_t,                   Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FSTP,   "fstpl",     Consts.AM_E|Consts.OT_t|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovnb",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovnb",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovnb",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovnb",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovnb",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovnb",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovnb",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovnb",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovne",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovne",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovne",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovne",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovne",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovne",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovne",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovne",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovnbe",  Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovnbe",  Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovnbe",  Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovnbe",  Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovnbe",  Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovnbe",  Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovnbe",  Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovnbe",  Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovnu",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovnu",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovnu",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovnu",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovnu",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovnu",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovnu",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCMOVC, "fcmovnu",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU_CTRL,"fclex",     Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FPU_CTRL,"finit",     Consts.FLAGS_NONE|Consts.P_w,              Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FUCOMI, "fucomi",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FUCOMI, "fucomi",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FUCOMI, "fucomi",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FUCOMI, "fucomi",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FUCOMI, "fucomi",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FUCOMI, "fucomi",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FUCOMI, "fucomi",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FUCOMI, "fucomi",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCOMI,  "fcomi",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCOMI,  "fcomi",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCOMI,  "fcomi",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCOMI,  "fcomi",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCOMI,  "fcomi",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCOMI,  "fcomi",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCOMI,  "fcomi",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCOMI,  "fcomi",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
};
        public static INST[] inst_table_fpu_dc = new INST[72]{
new INST( InstructionType.INSTRUCTION_TYPE_FADD,   "faddl",     Consts.AM_E|Consts.OT_q|Consts.P_w,               Consts.FLAGS_NONE|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FMUL,   "fmull",     Consts.AM_E|Consts.OT_q|Consts.P_w,               Consts.FLAGS_NONE|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCOM,   "fcoml",     Consts.AM_E|Consts.OT_q|Consts.P_w,               Consts.FLAGS_NONE|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCOMP,  "fcompl",    Consts.AM_E|Consts.OT_q|Consts.P_w,               Consts.FLAGS_NONE|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUB,   "fsubl",     Consts.AM_E|Consts.OT_q|Consts.P_w,               Consts.FLAGS_NONE|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUBR,  "fsubrl",    Consts.AM_E|Consts.OT_q|Consts.P_w,               Consts.FLAGS_NONE|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIV,   "fdivl",     Consts.AM_E|Consts.OT_q|Consts.P_w,               Consts.FLAGS_NONE|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIVR,  "fdivrl",    Consts.AM_E|Consts.OT_q|Consts.P_w,               Consts.FLAGS_NONE|Consts.P_r,            Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FADD,   "fadd",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FADD,   "fadd",      Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FADD,   "fadd",      Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FADD,   "fadd",      Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FADD,   "fadd",      Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FADD,   "fadd",      Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FADD,   "fadd",      Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FADD,   "fadd",      Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FMUL,   "fmul",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FMUL,   "fmul",      Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FMUL,   "fmul",      Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FMUL,   "fmul",      Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FMUL,   "fmul",      Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FMUL,   "fmul",      Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FMUL,   "fmul",      Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FMUL,   "fmul",      Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FSUBR,  "fsubr",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUBR,  "fsubr",     Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUBR,  "fsubr",     Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUBR,  "fsubr",     Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUBR,  "fsubr",     Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUBR,  "fsubr",     Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUBR,  "fsubr",     Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUBR,  "fsubr",     Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUB,   "fsub",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUB,   "fsub",      Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUB,   "fsub",      Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUB,   "fsub",      Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUB,   "fsub",      Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUB,   "fsub",      Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUB,   "fsub",      Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUB,   "fsub",      Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIVR,  "fdivr",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIVR,  "fdivr",     Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIVR,  "fdivr",     Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIVR,  "fdivr",     Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIVR,  "fdivr",     Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIVR,  "fdivr",     Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIVR,  "fdivr",     Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIVR,  "fdivr",     Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIV,   "fdiv",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIV,   "fdiv",      Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIV,   "fdiv",      Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIV,   "fdiv",      Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIV,   "fdiv",      Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIV,   "fdiv",      Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIV,   "fdiv",      Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIV,   "fdiv",      Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
};
        public static INST[] inst_table_fpu_dd = new INST[72]{
new INST( InstructionType.INSTRUCTION_TYPE_FLD,    "fldl",      Consts.AM_E|Consts.OT_q,                   Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FISTTP, "fisttp",    Consts.AM_E|Consts.OT_q|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FST,    "fstl",      Consts.AM_E|Consts.OT_q|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSTP,   "fstpl",     Consts.AM_E|Consts.OT_q|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),

new INST( InstructionType.INSTRUCTION_TYPE_FPU_CTRL,"frstor",    Consts.AM_E|Consts.OT_d|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 

new INST( InstructionType.INSTRUCTION_TYPE_FPU_CTRL,"fsave",     Consts.AM_E|Consts.OT_d|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),

new INST( InstructionType.INSTRUCTION_TYPE_FPU_CTRL,"fstsw",     Consts.AM_E|Consts.OT_d|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FFREE,  "ffree",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FFREE,  "ffree",     Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FFREE,  "ffree",     Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FFREE,  "ffree",     Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FFREE,  "ffree",     Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FFREE,  "ffree",     Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FFREE,  "ffree",     Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FFREE,  "ffree",     Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FST,    "fst",       Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FST,    "fst",       Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FST,    "fst",       Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FST,    "fst",       Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FST,    "fst",       Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FST,    "fst",       Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FST,    "fst",       Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FST,    "fst",       Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSTP,   "fstp",      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSTP,   "fstp",      Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSTP,   "fstp",      Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSTP,   "fstp",      Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSTP,   "fstp",      Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSTP,   "fstp",      Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSTP,   "fstp",      Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSTP,   "fstp",      Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FUCOM,  "fucom",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FUCOM,  "fucom",     Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FUCOM,  "fucom",     Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FUCOM,  "fucom",     Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FUCOM,  "fucom",     Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FUCOM,  "fucom",     Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FUCOM,  "fucom",     Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FUCOM,  "fucom",     Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FUCOMP, "fucomp",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FUCOMP, "fucomp",    Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FUCOMP, "fucomp",    Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FUCOMP, "fucomp",    Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FUCOMP, "fucomp",    Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FUCOMP, "fucomp",    Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FUCOMP, "fucomp",    Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FUCOMP, "fucomp",    Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
};
        public static INST[] inst_table_fpu_de = new INST[72]{
new INST( InstructionType.INSTRUCTION_TYPE_FIADD,  "fiadd",     Consts.AM_E|Consts.OT_w|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FIMUL,  "fimul",     Consts.AM_E|Consts.OT_w|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FICOM,  "ficom",     Consts.AM_E|Consts.OT_w|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FICOMP, "ficomp",    Consts.AM_E|Consts.OT_w|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FISUB,  "fisub",     Consts.AM_E|Consts.OT_w|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FISUBR, "fisubr",    Consts.AM_E|Consts.OT_w|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FIDIV,  "fidiv",     Consts.AM_E|Consts.OT_w|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FIDIVR, "fidivr",    Consts.AM_E|Consts.OT_w|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FADDP,  "faddp",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FADDP,  "faddp",     Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FADDP,  "faddp",     Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FADDP,  "faddp",     Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FADDP,  "faddp",     Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FADDP,  "faddp",     Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FADDP,  "faddp",     Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FADDP,  "faddp",     Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FMULP,  "fmulp",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FMULP,  "fmulp",     Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FMULP,  "fmulp",     Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FMULP,  "fmulp",     Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FMULP,  "fmulp",     Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FMULP,  "fmulp",     Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FMULP,  "fmulp",     Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FMULP,  "fmulp",     Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FCOMPP, "fcompp",    Consts.FLAGS_NONE|Consts.P_w,              Consts.FLAGS_NONE|Consts.P_r,            Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FSUBRP, "fsubrp",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUBRP, "fsubrp",    Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUBRP, "fsubrp",    Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUBRP, "fsubrp",    Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUBRP, "fsubrp",    Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUBRP, "fsubrp",    Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUBRP, "fsubrp",    Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUBRP, "fsubrp",    Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUBP,  "fsubp",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUBP,  "fsubp",     Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUBP,  "fsubp",     Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUBP,  "fsubp",     Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUBP,  "fsubp",     Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUBP,  "fsubp",     Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUBP,  "fsubp",     Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FSUBP,  "fsubp",     Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIVRP, "fdivrp",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIVRP, "fdivrp",    Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIVRP, "fdivrp",    Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIVRP, "fdivrp",    Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIVRP, "fdivrp",    Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIVRP, "fdivrp",    Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIVRP, "fdivrp",    Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIVRP, "fdivrp",    Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIVP,  "fdivp",     Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIVP,  "fdivp",     Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIVP,  "fdivp",     Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIVP,  "fdivp",     Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIVP,  "fdivp",     Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIVP,  "fdivp",     Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIVP,  "fdivp",     Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FDIVP,  "fdivp",     Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
};

        public static INST[] inst_table_fpu_df = new INST[72]{
new INST( InstructionType.INSTRUCTION_TYPE_FILD,   "fild",      Consts.AM_E|Consts.OT_w|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
	
new INST( InstructionType.INSTRUCTION_TYPE_FISTTP, "fisttp",    Consts.AM_E|Consts.OT_w|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FIST,   "fist",      Consts.AM_E|Consts.OT_w|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FISTP,  "fistp",     Consts.AM_E|Consts.OT_w|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    "fbld",      Consts.AM_E|Consts.OT_t|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FILD,   "fild",      Consts.AM_E|Consts.OT_t|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    "fbstp",     Consts.AM_E|Consts.OT_t|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FISTP,  "fistp",     Consts.AM_E|Consts.OT_t|Consts.P_w,               Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   1, 0, 0, 0, 0 ),

new INST( InstructionType.INSTRUCTION_TYPE_FFREEP, "ffreep",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FFREEP, "ffreep",    Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FFREEP, "ffreep",    Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FFREEP, "ffreep",    Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FFREEP, "ffreep",    Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FFREEP, "ffreep",    Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FFREEP, "ffreep",    Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FFREEP, "ffreep",    Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_w,      Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    "fstsw",     Consts.FLAGS_NONE|Consts.P_w,              Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FUCOMIP,"fucomip",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FUCOMIP,"fucomip",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FUCOMIP,"fucomip",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FUCOMIP,"fucomip",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FUCOMIP,"fucomip",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FUCOMIP,"fucomip",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FUCOMIP,"fucomip",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FUCOMIP,"fucomip",   Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCOMIP, "fcomip",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCOMIP, "fcomip",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST1|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCOMIP, "fcomip",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST2|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCOMIP, "fcomip",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST3|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCOMIP, "fcomip",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST4|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCOMIP, "fcomip",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST5|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCOMIP, "fcomip",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST6|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FCOMIP, "fcomip",    Consts.AM_REG|Consts.REG_ST0|Consts.F_f|Consts.P_w,      Consts.AM_REG|Consts.REG_ST7|Consts.F_f|Consts.P_r,    Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ),
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
new INST( InstructionType.INSTRUCTION_TYPE_FPU,    null,        Consts.FLAGS_NONE,                  Consts.FLAGS_NONE,                Consts.FLAGS_NONE,   0, 0, 0, 0, 0 ), 
        };


        public static INST[][] inst_table4 = new INST[8][]{
	inst_table_fpu_d8,
	inst_table_fpu_d9,
	inst_table_fpu_da,
	inst_table_fpu_db,
	inst_table_fpu_dc,
	inst_table_fpu_dd,
	inst_table_fpu_de,
	inst_table_fpu_df,
};
    }
}